Белов, А.В. Микроконтроллеры AVR: от азов программирования до создания практических устройств
Шаг 6. Осваиваем все возможности микроконтроллера ATtiny23 13 391 Выбор режимов работы сторожевого таймера Таблица 6.19 WDTON WDE WDIE Режим охранного таймера Действие по истечении контрольного времени 0 0 0 Таймер остановлен Нет 0 0 1 Режим прерывания Вызов прерывания 0 1 0 Режим сброса Системный сброс 0 1 1 Режим прерывания и сброса Вызов прерывания и переход к режиму системного сброса. 1 X X Режим сброса Системный сброс В случае успешного завершения процедуры обработки прерывания сторожевой таймер все равно останется в режиме системного сброса. Для того, чтобы сторожевой таймер постоянно оставался в режиме пре рывания, необходимо устанавливать этот режим программным путем после каждого прерывания. Этого нельзя делать непосредственно в процедуре обработки прерыва ния, так как это сведет на нет дополнительную функцию безопасности. При зависании процедуры обработки прерывания сброс может не произойти. В табл. 6.19 показаны все режимы сторожевого таймера. Бит 4 — WDCE: Разрешение изменения режимов сторожевого тай мера. Этот бит используется при изменении состояния битов предвари тельного делителя и бита WDE. Перед тем, как сбросить бит WDE и/или изменить состояние битов предварительного делителя, должен быть установлен разряд WDCE. После записи в него единицы бит WDCE будет автоматически сброшен аппаратным путем по истечении четырех машинных циклов. Бит 3 — WDE: Разрешение режима сброса. Флаг WDE дублирует флаг WDRF в регистре MCUSR. Это означает, что WDE всегда установлен, если установлен WDRE Для того, чтобы очистить WDE, нужно сначала очистить WDRF. Эта особенность гарантирует многократный сброс микроконтрол лера до тех пор, пока существует условие, вызывающее зависание программы и безопасный запуск программы сразу после окончания этого условия. Биты 5, 2..0 — WDP3..0: Выбор режима работы предварительного делителя охранного таймера. Биты WDP3 —0 определяют коэффициент деления предварительного делителя сторожевого таймера. Все возмож ные коэффициенты деления и соответствующие им защитные периоды времени приведены в табл. 6.20. Выбор режима предделителя сторожевого таймера Таблица 6.20 WDP3 WDP2 WDP1 WDP0 Количество циклов генератора до срабатывания WDT Примерное время npnVCC = 5.0V 0 0 0 0 2 К (2048) циклов 16мс 0 0 0 1 4 К (4096) циклов 32 мс
Made with FlippingBook
RkJQdWJsaXNoZXIy MTExODQxMg==