.
Для сброса сторожевого таймера и постделителя применяется команда clrwdt . При выполнении команды sleep (переход в энергосберегающий режим) произойдет сброс только таймера WDT. При выполнении этих команд в обоих случаях флаг (-TO) регистра RCON устанавливается в "1".
Если микроконтроллер находится в энергосберегающем режиме, переполнение таймера WDT выведет его их этого состояние в нормальный режим работы.
При переполнении таймера WDT бит (флаг переполнения WDT (-TO)) в регистре RCON сбрасывается в "0".
Минимальный период переполнения WDT в МК PIC18FXX2 (без предделителя) зависит от различных факторов, влияющих на работу RC генератора WDT (напряжение питания, температура...) и колеблется от 7 до 33 мс (номинальное значение 18 мс). В зависимости от типа микроконтроллера значения могут быть другими, (к примеру в PIC18F25k20 номинальное значение 4 мс ), как и коэффициент предделителя, который можно установить до 1:32768, вместо 1:256 (при наличии дополнительного бита VDTPS3, в регистре конфигурации CONFIG2H). Тем самым увеличивая период до нескольких секунд или даже минут соответственно. Коэффициент WDT устанавливается в регистре конфигурации CONFIG2H биты VDTPS0-VDTPS3.
Программное управление работой сторожевого таймера производится в регистре WDTCON (бит SWDTEN). В этом случае можно программно включить/выключить сторожевой таймер, правда при этом бит WDTEN в регистре конфигурации должен быть сброшен в "0".
Все права принадлежат ChipMK.ru. При копировании материала ссылка обязательна. 2011-2021 © ChipMK.ru
![]() |
|