Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我使用 PIC18F6622 和 PICC 编译器。
我使用看门狗定时器定期从睡眠模式中唤醒。数据表指出,在电源管理模式下看门狗会退出该模式,通常它工作得很好。
但是,有时我会看到意外的重置。使用 PICC 的reset_cause()我发现原因是WDT_FROM_SLEEP。这意味着什么?为什么它会导致重置而不是唤醒?
非常感谢,
卡纳布。
中断事件可能唤醒了 PIC,然后 WDT 可能在运行模式期间溢出,这将导致看门狗复位。
您正在让 MCPU 进入 SLEEP 模式。在这种模式下,MCPU 等待事件从睡眠中唤醒。在程序进入 SLEEP 模式之前,您没有解释启用了哪种事件/中断。假设您正在等待 OnPinChange(EEPROM 写入,ADC 转换 ...)事件,并且永远不会发生(或迟到),因此看门狗时间到期并重置 MCPU。
一种解决方案:尝试增加Watch Dog Timer 时间间隔。