Поклонники продукции Microchip Technology Inc тусуются тут.
Ответить

PIC16F628, режим SLEEP и WDT

Вс июн 10, 2012 06:01:11

Есть задумка установить контроллер в плеер как связующее звено между ним и некой периферией. Связь с плеером через UART. Посклольку периферия не всегда нужна, контроллер управляет питанием этой периферии, и если не задействовано вообще ничего, уходит в сон. Из сна его можно пробудить прерыванием от уарта. Вроде бы хорошо, но дело портит WDT. Он не отключается в режиме сна. Вопрос такой: могу ли я в режиме сна сбрасывать WDT, или же перед входом в сон его нужно отключить, чтоб не будил контроллер?
Спасибо.

Re: PIC16F628, режим SLEEP и WDT

Вс июн 10, 2012 11:33:46

Насколько помню, в режиме сна ватчдог не сбросить, а отключить возможно только в слове конфигурации.

Re: PIC16F628, режим SLEEP и WDT

Пн июн 11, 2012 07:10:05

Установите время ВДТ на максимум, а при пробуждении проверяйте источник пробуждения, если от ВДТ - сново спать.

Re: PIC16F628, режим SLEEP и WDT

Пн июн 11, 2012 11:17:36

В даташите перечислены источники прерываний:

• External Interrupt RB0/INT
• TMR0 Overflow Interrupt
• PORTB Change Interrupts (pins RB<7:4>)
• Comparator Interrupt
• USART Interrupt TX
• USART Interrupt RX
• CCP Interrupt
• TMR1 Overflow Interrupt
• TMR2 Match Interrupt
• Data EEPROM Interrupt

WDT среди них не значится. И потом, разве сторожевой таймер при переполнении не вызывает полный сброс МК?

Re: PIC16F628, режим SLEEP и WDT

Пн июн 11, 2012 11:28:07

Прерывание - это в Вашем случае переход на 4 адрес, а не на 0.
Анализируя регистры, можно определить источник сброса - от вачдога. РТФМ.

Re: PIC16F628, режим SLEEP и WDT

Пн июн 11, 2012 12:10:29

Извините, недочитал. При срабатывании WDT в режиме сна МК просто просыпается.
Всем спасибо за комментарии.
Ответить