Jak dzia³a funkcja wdt_enable? Czy aktywuje tylko przerwanie od przepe³nienia, czy te¿ aktywuje automatyczny reset mikrokontrolera? Czy w funkcji przerwania od przepe³nienia samemu muszê wykonaæ skok do wektora resetu?
Dziêkujê za pomoc i pozdrawiam Pawe³
Didn't find your answer? Ask the community — no account required.
G
Grzegorz Kurczyk
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
B
BartekK
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.
A
Adam Dybkowski
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.
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required
Report Content
You are reporting this content to the moderators. They will look at it
ASAP.