На сайт "Мир микроконтроллеров"   Закрыть окно помощи

 

FUSE калькулятор
Страница помощи

 

Сторожевой таймер.

Сторожевой таймер (по английски WatchDog - сторожевая собака) позволяет повысить устойчивость микроконтроллера против сбоев и зависаний программы. Эта идея не нова. Когда то подобные устройства собирали в виде внешней схемы и подключали к микроконтроллеру. Микроконтроллеры AVR имеют в своем составе встроенный сторожевой таймер. Когда таймер включен, он постоянно отсчитывает специальную задержку перезапуска. Ваша программа должна быть периодически сбрасывать таймер. Для этого в системе команд микроконтроллера имеется специальная команда. Вы просто включаете в основной цикл эту команду с таким расчетом, что бы она сбрасывала сторожевой таймер как можно чаще, что бы таймер не успел досчитать до конца. Если же программа по какой либо причине зависнет, она перестанет сбрасывать сторожевой таймер, он досчитает до конца свою задержку. По окончании задержки таймер вырабатывает сигнал сброса. В результате работа программы возобновляется, причем с самого начала.

WDTON

По умолчанию этот таймер отключен. Для включения сторожевого таймера служит FUSE переключатель WDTON. Так же, как и в случае схемы контроля напряжения питания, не рекомендую включать сторожевой таймер, если ваша программа еще не опробована и не до конца отлажена. Включайте его только когда он действительно необходим. Например, если ваше устройство часто зависает из за помех или по другим причинам.