0

我使用 PIC18F6622 和 PICC 编译器。

我使用看门狗定时器定期从睡眠模式中唤醒。数据表指出,在电源管理模式下看门狗会退出该模式,通常它工作得很好。

但是,有时我会看到意外的重置。使用 PICC 的reset_cause()我发现原因是WDT_FROM_SLEEP。这意味着什么?为什么它会导致重置而不是唤醒?

非常感谢,

卡纳布。

4

2 回答 2

1

中断事件可能唤醒了 PIC,然后 WDT 可能在运行模式期间溢出,这将导致看门狗复位。

于 2015-11-15T15:45:34.700 回答
0

您正在让 MCPU 进入 SLEEP 模式。在这种模式下,MCPU 等待事件从睡眠中唤醒。在程序进入 SLEEP 模式之前,您没有解释启用了哪种事件/中断。假设您正在等待 OnPinChange(EEPROM 写入,ADC 转换 ...)事件,并且永远不会发生(或迟到),因此看门狗时间到期并重置 MCPU。

一种解决方案:尝试增加Watch Dog Timer 时间间隔。

于 2013-04-17T13:40:51.110 回答