Marek_Gorecki napisał:
Ja rozumię jak działa watchdog.
Hmm.
Konstruktorzy wychodząc naprzeciw najnowszym trendom w konstruowaniu mikrokontrolerów, wbudowali do procesorów AVR układ Watchdog.
Jest to specjalny licznik, zliczający impulsy zegarowe 1MHz. Gdy nastąpi przepełnienie tego licznika, generowany jest sygnał RESET by wyzerować procesor.
Do programisty zatem należy umieszczenie w programie rozkazów powodujących zerowanie tegoż licznika. Jest to jeden z elementów zabezpieczenia przed zapętleniem się programu lub błędami w jego działaniu.
TYLE MÓWIĄ MĄDRZY TEGO ŚWIATA.
W tej przypowiastce nikt nic nie mówi o przerwaniu od watchdog'a, a jedynie o sprzętowym liczniku, który, jak się przepełni, spowoduje reset uC. Watchdog nie powinien resetować uC podczas normalnego wykonania programu. Watchdog działa jeśli uC pójdzie w maliny.
P. S. Czasem używam Watchdog'a do resetowania uC za pomocą przycisku służącego normalnie do innych celów. Oprogramowuję przycisk tak aby jego wciśnięcie zatrzymywało program. Normalne naciśnięcie wywołuje przypisaną funkcję, a dłuższe (zwykle 2s.) pozwala na przepełnienie się licznika Watchdog'a i reset. To taka ukryta funkcja serwisowa.
Dzięki
excray
I ja się czegoś nowego dowiedziałem. Sprawa zatem jest wyjaśniona.