打印
[STM32F4]

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

[复制链接]
727|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
19996|  楼主 | 2021-5-13 17:26 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 19996 于 2021-5-13 17:31 编辑

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

概述:单片机(STM32F407VET6)需要设置低功耗模式,当程序运行到低功耗状态下看门狗不会关闭,还会自动进行复位操作。
1、  方法一
设置RTC定时唤醒然后喂狗,保证系统不会被看门狗复位。相当于闹钟唤醒,然后喂狗再睡下。时间计算合理,功耗也是相对较低的方案。
2、  方法二(推荐此法,已验证)
设定Flash或者后备寄存器存储当前状态变量,然后复位不会清除。然后通过一次软复位进行重运行程序并取消初始化操作。这样实现了看门狗的关闭操作,详细见下图流程图。
注释:关机状态: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

粉丝