[STM32F4] 浅谈看门狗和低功耗配合使用方法

[复制链接]
1039|1
 楼主| 19996 发表于 2021-5-13 17:26 | 显示全部楼层 |阅读模式
本帖最后由 19996 于 2021-5-13 17:31 编辑

浅谈关于低功耗模式下,系统会不断自启动解决办法

概述:单片机(STM32F407VET6)需要设置低功耗模式,当程序运行到低功耗状态下看门狗不会关闭,还会自动进行复位操作。
1、  方法一
设置RTC定时唤醒然后喂狗,保证系统不会被看门狗复位。相当于闹钟唤醒,然后喂狗再睡下。时间计算合理,功耗也是相对较低的方案。
2、  方法二(推荐此法,已验证)
设定Flash或者后备寄存器存储当前状态变量,然后复位不会清除。然后通过一次软复位进行重运行程序并取消初始化操作。这样实现了看门狗的关闭操作,详细见下图流程图。
53197609cf15a5757a.png
注释:关机状态:BKP_REG10=0x1010  
      正常运行状态:BKP_REG10=0x0101
      正在关机状态:BKP_REG10=0x0011    BKP_REG9=0x0505
3、  方法三
利用看门狗复位和软复位,以及其他的复位方式,通过RCC时钟控制和状态寄存器(RCC_CSR)判断是属于何种复位。该寄存器的使用可以参考ST的中文参考手册。
每个产品使用均不一样,逻辑是可以调整的,唯一不变的是
1、  RCC_CSR是可以直接读取其值,进行判定是何种复位,该寄存器不会被复位清除。
2、  看门狗一旦开启,除了复位将无法关闭。

3、  仅仅只针对STM32F407VET6


两只袜子 发表于 2021-5-14 09:48 | 显示全部楼层
很不错的方法,学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

35

主题

139

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部