Witam,
Potrzebuje napisać kod który zaraguje zarówno na pojedyncze naciśnięcie przycisku jak i podwójne w przerwaniu INT0.
Najprościej ujmując chcę napisać program:
W przypadku pojedynczego wciśnięcia przycisku ma zaświecić diode 1 a w przypadku podwójnego diodę 2. Nie mogę zrobić zmiennej globalnej liczącej ilość wciśnięć poniewaz program będzie przebywał jakiś czas w funkcji przerwania np. zapal diodę odczekaj 1 sekunde zgaś (wiem, że można to zrobić innaczej ale to jest takie uproszczenie programu).
Mój pomysł napodkał następujące problemy:
Obsługa przerwań funckją ISR() blokuje inne przerwania w momencie wykonywania kodu, więc niezareaguje na podwójne naciśnięcie.
INTERRUPT() pozwala na wywołanie innego przerwania w trakcie obsługi pierwszego. Lecz potem wraca do pierwszego i wykonuje dalszy kod.
Czy istnieje jakiś prosty sposób by wykonać coś takiego?
Potrzebuje napisać kod który zaraguje zarówno na pojedyncze naciśnięcie przycisku jak i podwójne w przerwaniu INT0.
Najprościej ujmując chcę napisać program:
W przypadku pojedynczego wciśnięcia przycisku ma zaświecić diode 1 a w przypadku podwójnego diodę 2. Nie mogę zrobić zmiennej globalnej liczącej ilość wciśnięć poniewaz program będzie przebywał jakiś czas w funkcji przerwania np. zapal diodę odczekaj 1 sekunde zgaś (wiem, że można to zrobić innaczej ale to jest takie uproszczenie programu).
Mój pomysł napodkał następujące problemy:
Obsługa przerwań funckją ISR() blokuje inne przerwania w momencie wykonywania kodu, więc niezareaguje na podwójne naciśnięcie.
INTERRUPT() pozwala na wywołanie innego przerwania w trakcie obsługi pierwszego. Lecz potem wraca do pierwszego i wykonuje dalszy kod.
Czy istnieje jakiś prosty sposób by wykonać coś takiego?