Поклонники продукции Microchip Technology Inc тусуются тут.
Вс июн 10, 2012 06:01:11
Есть задумка установить контроллер в плеер как связующее звено между ним и некой периферией. Связь с плеером через UART. Посклольку периферия не всегда нужна, контроллер управляет питанием этой периферии, и если не задействовано вообще ничего, уходит в сон. Из сна его можно пробудить прерыванием от уарта. Вроде бы хорошо, но дело портит WDT. Он не отключается в режиме сна. Вопрос такой: могу ли я в режиме сна сбрасывать WDT, или же перед входом в сон его нужно отключить, чтоб не будил контроллер?
Спасибо.
Вс июн 10, 2012 11:33:46
Насколько помню, в режиме сна ватчдог не сбросить, а отключить возможно только в слове конфигурации.
Пн июн 11, 2012 07:10:05
Установите время ВДТ на максимум, а при пробуждении проверяйте источник пробуждения, если от ВДТ - сново спать.
Пн июн 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 среди них не значится. И потом, разве сторожевой таймер при переполнении не вызывает полный сброс МК?
Пн июн 11, 2012 11:28:07
Прерывание - это в Вашем случае переход на 4 адрес, а не на 0.
Анализируя регистры, можно определить источник сброса - от вачдога. РТФМ.
Пн июн 11, 2012 12:10:29
Извините, недочитал. При срабатывании WDT в режиме сна МК просто просыпается.
Всем спасибо за комментарии.
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.