watchdog | MCU Space

Архив

Публикации с меткой ‘watchdog’

Watchdog Sleep

2 октября 2014

wdt_p

Порой требуется запускать МК на очень короткое время, производить какие либо действия(измерение температуры и т.п.) и снова засыпать для экономии заряда батареи, для этих целей удобно использовать Watchdog. В МК серии PIC18F все довольно просто.  Нужно лишь правильно указать нужное время сна в регистре предделителя таймера Watchdog . В даташите написано следующее:

Для PIC18F2420/2520/4420/4520 устройств, WDT тактируется от внутренней RC. Номинальный период WDT составляет 4 мс и имеет такую ​​же стабильность, как INTRC генератор.  Сон  WDT может быть от 4 мс до 131.072 сек (2.18 минуты).  Регистр WDTPS может принимать значение от 1 до 32768WDT и предделитель очищаются при любом из следующих событий: выполнение команды SLEEP или CLRWDT,  IRCF бит (OSCCON <6:4>) изменен или произошел сбой тактирования.

Т.е. при предделителе равном 256, мы имеем 0,004 х 256 = 1,024 секунды сна.

В данном примере зажигаем светодиод на 50 мс каждую секунду:

Отсчет времени , , ,