Witam serdecznie
Jestem na etapie nauki, więc z góry proszę o wyrozumiałość.
Chciałem sprawdzić działanie przerwań PCINT w celu obsługi przycisku, na ten moment używam funkcji delay ponieważ interesuje mnie istota działania tych przerwań, pomijając na ten moment kwestie zajętości procesora.
ATmega164A
Do pinu PB0 (PCINT8) podpięty jest przycisk.
Do pinu PD7 podpięta jest dioda.
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Generalnie jeśli klika się szybko to działa. Problem w tym że jeśli przytrzymam przycisk dłużej to przerwanie wykonuje się drugi raz - co ciekawe wykonuje się drugi raz i koniec. Niezależnie od tego jak długi czas oczekiwania ustawie przy przytrzymywaniu przycisku przerwanie zawsze wykonuje się drugi raz. Nie mam pomysłu dlaczego tak się dzieje, ponieważ teoretycznie po naciśnięciu przez chwile jest drganie styków, a następnie trzymając przycisk cały czas jest poziom niski, w związku z tym po wykonaniu tej funkcji jedyne możliwe następne zbocze wystąpi po puszczeniu przycisku. Nie mam pomysłu dlaczego tak się dzieje.
Z góry dziękuję za pomoc.