- posted
17 years ago
watchdog avr-gcc
- Vote on answer
- posted
17 years ago
Użytkownik Pawel napisał:
Watchdog wykonuje sprzętowy reset procesora i nie trzeba go obsługiwać. Gdyby była konieczność programowej obsługi reakcji na watchdog'a to nie miałby on sensu. W większości AVR-ów można natomiast rozpoznać z jakiego powodu nastąpił reset procesora.
Pozdrawiam Grzegorz
- Vote on answer
- posted
17 years ago
Grzegorz Kurczyk napisał(a):
A nie jestem pewny na 100% ale chyba jest tez mozliwosc ustawienia takiego, by przepelnienie watchdoga generowalo przerwanie a nie reset. Przynajmniej kiedys cos takiego w attiny2313 widzialem.
- Vote on answer
- posted
17 years ago
Pawel napisał(a):
To makro konfiguruje watchdoga i włącza go. W rejestrze WDTCSR jest tylko programowany preskaler i ustawiany bit WDE. Nie jest natomiast ustawiany bit WDIE włączający przerwanie watchdoga (w ATtiny2313).
A wystarczyło tylko spojrzeć do pliku avr/wdt.h i nie zawracać...
Polecam lekturę opisu działania watchdoga w dokumentacji procesora (opis bitu WDIE). Jest tam dokładnie napisane, co należy zrobić po zadziałaniu przerwania watchdoga (ale nie w samym przerwaniu!) aby po kolejnym opóźnieniu nie nastąpił reset.