Зачем лезть в навороченное раньше времени?
Если возможности имеющейся базы до конца не использованы?
Код: Выделить всё
PCMSK = (1<<PCINT0);
GIMSK = (1<<PCIE);
MCUCR = (1<<ISC01);
ISR (PCINT0_vect) {}
Код: Выделить всё
TCD0.CTRLB = TCD_WGMODE_ONERAMP_gc;
TCD0.INTCTRL = TCD_TRIGA_bm;//разрешить прерывания по событию
TCD0.EVCTRLA= TCD_EDGE_FALL_LOW_gc | TCD_ACTION_bm | TCD_TRIGEI_bm;//сработка про спадающему фронту, включение захвата по каналу А и включение входных событий по каналу А
TCD0.CTRLA = TCD_CLKSEL_SYSCLK_gc | TCD_CNTPRES_DIV4_gc | TCD_ENABLE_bm;//источник тактирования, делитель и включение таймера
EVSYS.ASYNCCH0 = EVSYS_ASYNCCH0_PORTA_PIN6_gc;//сопоставление канала событий ch0 выводу PA6
EVSYS.ASYNCUSER6 = EVSYS_ASYNCUSER6_ASYNCCH0_gc;//сопоставление таймера TCD0 (ASYNCUSER6) каналу событий ch0
ISR (TCD0_TRIG_vect) {
TCD0.INTFLAGS=TCD_TRIGA_bm;
}
Код: Выделить всё
PORTA.PIN6CTRL = PORT_ISC_FALLING_gc;