最近一个项目在用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(),相当于把看门狗关了。
本文分享了一种STM32F103在使用看门狗的情况下,实现低功耗模式的创新方法。通过在关机时创建并检查Flash标志,确保即使在看门狗重启后也能正确进入低功耗模式,解决了传统方法下看门狗无法正常工作的问题。
2498

被折叠的 条评论
为什么被折叠?



