Самоучитель для микроконтроллеров AVR - Страница 80

Самоучитель для микроконтроллеров AVR - Самоучитель для микроконтроллеров AVR

Если WDT активирован то вы должны в своей программе расставить 
команды обнуления его счетчика

#asm("wdr")  //так в компиляторе CodeVisionAVR

так часто чтобы обнуление WDT происходило через промежутки времени ГАРАНТИРОВАНО меньшие чем время переполнения таймера WDT - я советую расставлять такие команды так часто насколько возможно.

В соответствии с ДШ Table 17. Watchdog Timer Prescale Select время от обнуления до переполнения WDT и вызванного этим сброса МК (т.е. рестарта его программы с начала) может быть установлено вами программно от 16 мСек до 2 Сек.

Предположим вы установили это время 16 мСек и пока программа в МК не зависла, она исправно обнуляет за счет предусмотренных вами команд.

#asm("wdr")

Но вот МК завис - теперь как только WDT переполнится (не позднее чем через 16 мСек с последнего обнуления) произойдет перезагрузка МК и программа начнет свою работу снова.

Go to Top