Здравствуйте.
Столкнулся с непонятным. Не работает WDT... Контроллер не выходит из SLEEP.
Или я неправильно конфигурирую...
Код
Device 16F688
Declare Reminders = OFF
Declare Warnings = OFF
Declare Xtal 4
''Config CPD_OFF,CP_OFF,MCLRE_OFF,PWRTE_ON,WDT_ON,INTRC_OSC_NOCLKOUT
''Config FCMEN_OFF, IESO_OFF, CPD_OFF, CP_OFF, MCLRE_OFF, PWRTE_ON, WDT_ON, INTRC_OSC_NOCLKOUT, BOREN_OFF, WDT_ON
'@CONFIG_REQ
'@__CONFIG FCMEN_OFF & IESO_OFF & BOREN_OFF & CPD_OFF & CP_OFF & MCLRE_OFF & PWRTE_ON & WDT_ON & INTRC_OSC_NOCLKOUT
Declare Reminders Off
@ CONFIG_REQ = 0 ; Override Compiler's configuration settings
Asm-
__Config 0x30DD
Endasm-
Declare Reminders On
Там уже всякие варианты... Да, проверяю в Протеусе.
Подскажите, как правильно и, может, в этом контроллере есть какие особенности с WDT.
Вроде работает, но период без предделителя - 9 секунд... Непонятно...
Эврика! Может, кому поможет - Код
Новый прескалер был добавлен к пути между
INTRC и мультиплексоры, используемые для выбора пути
для WDT. Этот прескалер составляет 16 бит и может быть
запрограммированы делить INTRC на 32 до 65536,
давая WDT номинальный диапазон от 1 мс до 268 с.
Регистр называется WDTCON. Его нужно конфигурировать.