Pawel
Guest
Tue Dec 05, 2006 12:42 pm
Witam.
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ł
Grzegorz Kurczyk
Guest
Tue Dec 05, 2006 3:58 pm
Użytkownik Pawel napisał:
Quote:
Witam.
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?
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
BartekK
Guest
Tue Dec 05, 2006 6:41 pm
Grzegorz Kurczyk napisał(a):
Quote:
Użytkownik Pawel napisał:
Witam.
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?
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.
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.
--
| Bartlomiej Kuzniewski
| sibi@drut.org GG:23319 tel +48 696455098
http://drut.org/
|
http://www.allegro.pl/show_user_auctions.php?uid=338173
Adam Dybkowski
Guest
Tue Dec 05, 2006 11:47 pm
Pawel napisał(a):
Quote:
Jak działa funkcja wdt_enable?
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ć...
Quote:
Czy w funkcji przerwania od przepełnienia samemu muszę wykonać skok
do wektora resetu?
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.
--
Adam Dybkowski
http://www.amwaw.edu.pl/~adybkows/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.