芯片睡眠模式下看门狗的使用:
由于独立看门狗的特殊性,一旦开启就不能再被关闭,除非发生复位。而睡眠时程序又是停止运行的,这样就无法及时喂狗,从而导致看门狗复位。那么就需要软件上做些特殊
处理
方法1:在低功耗模式下进行RTC定时唤醒CPU进行喂狗操作之后在进入低功耗睡眠模式,因为在睡眠模式下是无法进行正常喂狗的,所以需要进行RTC定时唤醒进行喂狗操作,
保证看门狗是正常工作的。但这样唤醒频率高对功耗影响大。
方法2:在进入睡眠/停止模式之前利用软件复位关闭看门狗然后再进入。
具体流程为程序正常运行 》需要进睡眠时执行软复位 》程序开头判断软复位标志 》是软件复位的话进睡眠 模式》当唤醒后打开看门狗 》程序判断是否已经使能看门狗 》
使能的话不再重新初始化 》程序正常运行
当然还有待机模式,待机模式与前面两种不同,待机唤醒后不会从原先位置继续执行,而是会发生复位,那么只需要加上待机唤醒复位标志判断,在此判断中打开看门狗即可。
标签:CH32FV2x,睡眠,IWDG,复位,低功耗,模式,看门狗,唤醒 From: https://www.cnblogs.com/wchmcu/p/17278642.html