stm32低功耗休眠模式下使用看门狗wdt

最近一个项目在用stm32f103,发现stm32一旦开启看门狗,就关不了,进入低功耗模式后,看门狗也重启,不使用看门狗非常危险,网上看了好多资料也查不到解决方案,后来自己想到一个可以进入低功耗又可以使用看门狗的方案,在这里给大家分享,我自己实验过可以正常使用。
我的产品是关机后进入低功耗模式,mcu一直带电。

关机流程:关机命令----往flash创建flag标志—重启(调用函数NVIC_SystemReset())

开机流程:1. 读flash是否有flash标志----是----删除flag标志-----进入低功耗模式。
2. 读flash是否有flash标志----否—直接进入程序。

所以我的产品关机的整个流程是这样:关机命令----往flash创建flag标志----重启----读flash是否有flash标志----是----删除flag标志-----进入低功耗模式。
开机流程是这样:读flash是否有flash标志----否—直接进入程序。
如果看门狗引起重启的开机是这样: 读flash是否有flash标志----否—直接进入程序。

就是因为调用重启函数NVIC_SystemReset(),相当于把看门狗关了。

你可能感兴趣的:(stm32低功耗休眠模式下使用看门狗wdt)