历史上的今天

今天是:2024年11月12日(星期二)

2019年11月12日 | stm32 低功耗下使用看门狗(不喂狗)

发布者:cangart 来源: eefocus关键字:stm32  低功耗  看门狗 手机看文章 扫描二维码
随时随地手机看文章

在项目中需要低功耗处理,而使用看门狗可以保证程序不会跑死。但使用看门狗有一个问题,打开看门狗以后关闭不了,必须一直喂狗进行操作,那有啥好的办法呢?狗是必须养的,养这条狗花费了我半天时间,在此记录。


我能想到的有两种方案:


一、 使用独立看门狗,在低功耗下唤醒进行喂狗操作后继续休眠。


该方法可以通过增大看门狗的时钟分频,最大256分频,即可达到最大限度的喂狗时间,如果按照40K的时钟来算,(1 / (40K / 256)) * 4096 = 26.2144S, 在二十多秒起来喂狗在功耗方面可以接受,这种方法比较简单,不过二十多秒需唤醒一次。


二、利用复位关闭看门狗,在低功耗下不进行喂狗操作


使用的前提是需要判断复位的状态或者将软件复位标志写入flash中。


将软件复位标志写入flash


参考链接:https://www.eeworld.com.cn/mcu/2019/ic-news041243839.html,很好的说明了整个流程。


重点记录使用复位状态关闭看门狗。在stm32中,使用RCC的CSR寄存器根据状态位可以判断出复位原因。我在项目中判断了三种状态:上电/掉电态,看门狗复位态,软件复位态。下图流程图可以看出软件每次重启都读取复位标志位,由于业务需求,需要在首次开机时写入一些参数,根据业务需求开关机判断可有可无。 看门狗复位态指没有正常喂狗引起的复位,而软件复位态是我们通过代码手动软件复位的,因此是看门狗复位还是软件复位就可以区分。区分出来后,我们需要做相应处理,如果是看门狗复位态,说明程序跑死了,该让他正常初始化的初始化,养狗的养狗,最重要的是在业务代码完成后进入低功耗前,我们需要进行一步手动复位操作,这个操作用来判断我们是否想进入低功耗,我在程序中的做法是:在进入低功耗前进行软件复位,复位后判别出是软件复位标志,直接goto到低功耗处理函数。在这个goto的过程中没有进行开启看门狗操作,系统复位过,狗就这样子被我们关闭了,成功进入低功耗。


低功耗唤醒时再次开启看门狗,进入低功耗前手动软件复位,手动复位标志位判断出来后不进行喂狗,直接跳到低功耗处理函数,就能一直跑着。


PS:语言组织能力不强,在此放置一张流程图供参考,以便翻阅。


关键字:stm32  低功耗  看门狗 引用地址:stm32 低功耗下使用看门狗(不喂狗)

上一篇:STM32F0x2 IWDG(独立看门狗)
下一篇:STM32 休眠模式下,难道 看门狗和低功耗模式没法同时使用

推荐阅读

      伴随11月11日24时钟声响起,全民狂欢的双十一迎来了激动人心的时刻,各大电商平台和厂商纷纷公布24小时销售数据。3分50秒销售额破亿,7小时57分突破去年全年销售额,夺得天猫平台安卓销售额第一,这个双十一,华为实力诠释何为中国第一手机品牌。天猫华为官方旗舰店3分50秒销售额破亿  天猫、京东双平台发力,华为手机销量、销售额双双领先...
基于最新版NI LabVIEW图形化系统设计软件,LabVIEW Robotics 环境继续提供工业级系统设计软件的能力。结合LabVIEWRobotics与LabVIEW 2010,新的编译器技术和优化得以实现,您可以自动受益于20倍的平均运行时间性能的提升。诸如导航,定位和视觉处理等计算密集型算法将可以更快地实现,提高您的机器人的性能。感知传感器驱动对任何自主或半自主的系统来说...
据集微网了解,11月12日,深圳市利和兴股份有限公司(简称“利和兴”)创业板IPO成功过会。据悉,利和兴自设立以来专注于自动化、智能化设备的研发、生产和销售,致力于成为新一代信息和通信技术领域(5G)领先的智能制造解决方案提供商。目前,公司作为设备供应商,主要服务于信息和通信技术等领域客户,实现高端装备制造与新一代信息技术等新产业的深度...
示波器对于电子工程师来说再熟悉不过了,纹波测试,检查频率,查看信号质量,测量上升时间、下降时间和过冲,并行总线解码分析等等它都能用到, 被誉为电子工程师的“眼睛”,而其中泰克品牌的示波器更是众多电子工程师备受青睐的品牌了,任何仪器使用久了,难免会生病,今天安泰测试就给大家分享一下泰克示波器出现黑屏原因及解决方法。泰克示波器出现黑...

史海拾趣

问答坊 | AI 解惑

PCB Layout的第一次经历分享

试着layout一回,使用的软件是PADS layout 2005 sp1。据同事说这个软件不算稳定,用时心里也有点虚,不过上手的时候用的就是这个版本,就没管稳定不稳定了。 先是布局,板子不大,45mm*75mm的面积,因为背面是电池盒,所以元件基本在TOP层。最开始 ...…

查看全部问答∨

【转】PCB布线设计之超级功略

内容简介: 双面板布线技巧 模拟和数字布线的基本相似之处及差别 寄生元件危害最大的情况 AD 转换器的精度和分辨率增加时使用的布线技巧 如何使用工具确定与电路布线有关问题 传感系统的布线 对于电流回路,需要注意如下基本事项 1. 如果 ...…

查看全部问答∨

一个LED的N种玩法

 欢迎讨论     一个LED的N种玩法(一)——让LED闪起来https://bbs.eeworld.com.cn/viewthread.php?tid=103121   一个LED的N种玩法(二)——渐变https://bbs.eeworld.com.cn/viewthread.php?tid=103168   一个LED的 ...…

查看全部问答∨

我如何向LCD屏上的寄存器写数据?

三星6410/VS2005/Wince6.0, LCD屏上有寄存器, 我如何向LCD屏上的寄存器写数据? 请给一些思路.…

查看全部问答∨

2440里面基于ZC301的摄像头的QT4.5上显示视频的问题

要做个基于S3C2440的视频跟踪的东西,但目前遇到的问题太多了,现在是摄像头的视频提取与显示的方法未必对,下面是一部分主要的程序,肯定有许多地方是不合适地,希望大家能指教一下,目前下面的程序的问题是图片刷新很慢,并且只能刷新一段时间, ...…

查看全部问答∨

盘点机有谁搞过啊

能简单说说原理和开发工具吗? 我没搞过 向知道一般是用什么开发?…

查看全部问答∨

关于WINCE系统兼容性求助!

小弟刚接触WINCE系统想知道在Xp操作系统下面用C#开发的程序打包安装到WINCE下有什么问题吗.兼容性有要求吗?  比如说我用的SQL SERVER数据库和C#来开发的程序,可以安装到WINCE里面吗?是不是在WINCE里面也要安装Sql ...…

查看全部问答∨

基于STM32的485通讯

void UART3Init(void){        GPIO_InitTypeDef GPIO_InitStructure;        USART_InitTypeDef USART_InitStructure;         RC ...…

查看全部问答∨

智能家居成品

请问这个智能家居现在有做出成品的了吗,一套大概要多少钱?…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved