由于在standby mode,看门狗仍然能继续工作,但是其他时钟都关闭了,没法喂狗,这样会导致mcu不停复位。网上找的方法如下:1. 开启RTC,定期喂狗后再次睡眠。该方法视乎可行,但是不够省电。

2,使用复位标志,区分上电复位和看门狗复位。

if (RCC_GetFlagStatus(RCC_FLAG_IWDGRST) != RESET)

但是实际测试有问题,STM32无法区分上电复位和看门狗复位。

为此借鉴了其他方法总结了如下结果:

1. MCU 正常启动后,在进入省电模式的函数那里把省电内容替换位系统复位。

2. 在省电模式(即系统复位)后,mcu会重启,初始化IO口读取存储在EEPROM的省电标志位,如果位1,直接开启看门狗并运行系统,如果为0,则进入休眠函数。为什么这种方法可行,是因为在进入休眠模式之前看门狗还没有启用,所有就不存在喂狗问题。

此外如果是上电立马开机,则不用判断标志位,且发生看门狗复位也能开机。如果是需要按键开机,则需要判断省电标志位, 如果是看门狗复位也需要判断标志位, 以此判断是否开机。

STM32 待机模式与看门狗和谐相处相关推荐

  1. Arduino休眠模式和看门狗以及中断详解

    休眠模式.看门狗.中断 一.休眠模式 睡眠中断的触发 二.看门狗 实例一 实例二 三.外部中断 1.为什么需要中断? 2.不关心功耗还需要中断吗? 3.各种板子的中断 4.中断函数.中断触发模式与设置 ...

  2. STM32外部中断与看门狗

    STM32外部中断与看门狗 前面说过中断的概念了,但是没有细究,中断除了内部中断(比如运行错误),还能受到外部中断 文章目录 STM32外部中断与看门狗 一 外部中断描述 1.1 外部中断描述 1.2 ...

  3. c语言中什么叫喂狗,STM32是怎么初始化看门狗和喂狗的

    STM32是怎么初始化看门狗和喂狗的 看门狗初始化步骤: 1.IWDG_PR和IWDG_RLR寄存器具有写保护功能.要修改这两个寄存器的值,必须先向 IWDG_KR寄存器中写入0x5555. 2.设置 ...

  4. STM32 HAL库窗口看门狗

    STM32 HAL库窗口看门狗 1.窗口看门狗基本原理 2.独立看门狗与串口看门狗区别 3.应用场合 4.窗口看门狗的时钟 5.窗口看门狗寄存器: ①.看门狗控制寄存器(WWDG_CR) 2.配置寄存 ...

  5. STM32 (五)看门狗

    看门狗简介: 顾名思义就是看门的dog,不过这可不是用来看家的,而是用来看单片机的, 在由单片机构成的微型计算机系统中单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环:或者因为 ...

  6. STM32中的独立看门狗和窗口看门狗

    STM32中的独立看门狗和窗口看门狗 在早期的MCU中是没有看门狗这种东西的,所以产品就很容易出现死机,跑飞的情况.为了避免这种情况的出现,后期的MCU都集成了看门狗的功能.但是,目前看门狗发展到今天 ...

  7. STM32系列 STM32F4xx 独立看门狗(IWDG)

    2019独角兽企业重金招聘Python工程师标准>>> 0 前言     由于单片机的工作常常会受到来自外界电磁场的干扰,造成各种寄存器和内存数据混乱,会导致程序指针错误,不在程序区 ...

  8. stm32 定时器_如何计算STM32定时器、独立看门狗和窗口看门狗

    点击上方蓝色字体,关注我们 本博文简要阐述STM32L011微控制器定时器的参数配置(其他型号大同小异,本文侧重讲解配置,至于各类定时器的特点后续再述),STM32定时器种类繁多有通用定时器.基本定时 ...

  9. STM32学习笔记:独立看门狗和窗口看门狗

    STM32的独立看门狗是由内部专门的40Khz低速时钟驱动,即使主时钟发生故障,但它仍然有效. 看门狗原理:单片机系统在外界干扰情况下会出现程序跑飞的现象会导致出现死循环,看门狗电路在一定时间内如果没 ...

最新文章

  1. 【ACM】杭电OJ 2034
  2. java微信公众号开发token验证失败的问题及解决办法
  3. RHEL/CentOS查看网卡的MAC地址
  4. matlab loopcount,求助一个数值积分问题,用matlab的quadgk函数来计算,谢谢!
  5. java操作当前日期的年月日
  6. Jdbc连接mysql的五种连接方式
  7. C++喜欢收录和反链都保持增长的态势
  8. idea右键单击没有 svn选项处理办法
  9. 【洛谷 P1070】道路游戏 (DP)
  10. Leetcode每日一题:80.remove-duplicates-from-sorted-array-ii(删除排序数组中的重复项Ⅱ)
  11. log日志显示与写入文件—qt
  12. NavigationView内的Android ExpandableListView
  13. Eclipse打开javadoc框
  14. php之RSA加密解密
  15. 知识图谱(以金融知识图谱为例)
  16. 谷歌创始人拉里·佩奇不为人知的故事
  17. Vue进阶(幺柒零):前端用户体验提升(四)应用 rem/em 实现字体自适应
  18. 豆豆趣事[2013年02月]
  19. 用python偷偷给班级群女同学的颜值进行排名,排最后的大姐说开学要打爆我(文末送书)...
  20. 后端接口并行调用方案

热门文章

  1. Spring MVC面试题(2020最新版)
  2. FullCalendar日历
  3. 今年英国恢复A-level大考,关于成绩和录取解答
  4. ROS语音控制——小乌龟按设定图形路线运动
  5. php serialize w3c,serializeArray()
  6. 第14周翻译Stairway to Transaction Log Management in SQL Server, Level 5: Managing the Log in Full Rec...
  7. 光影导演,废旧纸板上演浴血黑帮情景剧
  8. MotionEvent中getAction、getActionMask、getActionIndex区别
  9. 资本狂追手术机器人,康诺思腾是如何打动美团龙珠的?
  10. linux中的make相关用法介绍