前注:本文章主要讲解【原理】

内容为 '_Snake_'编写,日常学习总结,内容如有不足、不妥之处请私信告知,谢谢!

实验

独立看门狗实验

简介

        MCU可能工作在一些复杂环境,可能受到某些电磁干扰出现程序跑飞,导致死循环无法继续执行工作,看门狗的作用就是为了避免这种情况。看门狗的本质也是一个定时器,在启动后,需要在一定时间内再给它一个信号,俗称“喂狗”,如果没有按时“喂狗”,说明MCU可能处于非正常状态,这时看门狗就向 MCU发送个复位信号,使整个系统重启,重新进入正常的工作状态。

框图

1. 时钟、预分频器

独立看门狗的时钟源来自 LSI (内部低速时钟)

分配器(具有写保护功能)

2.重装载值、计数器、键值寄存器

计数器

独立看门狗的计数器是一个 12 位的递减计数器,最大值为 0XFFF ,当计数器减到 0 时,
会产生一个复位信号 :IWDG_RESET ,让程序重新启动运行,如果在计数器减到 0 之前刷新
了计数器的值的话,就不会产生复位信号,重新刷新计数器值的这个动作我们俗称 喂狗 。

重装载值

重装载寄存器是一个 12 位的寄存器,里面装着要刷新到计数器的值,这个值的大小决
定着独立看门狗的溢出时间。超时时间 Tout = (4*2^prv) / 40 * rlv (s) , prv 是预分频器寄存  
器的值, rlv 是重装载寄存器的值。

键值寄存器

3.IWGH复位

溢出时间 Tout = prv/40 * rlv (s)

prv 可以取 IWDG_Prescaler_64 ,rlv 取 625 , IWDG_SetPrescaler (IWDG_Prescaler_64 ,625)。 Tout=64/40*625=1s 。

4.状态寄存器

【STM32】IWDG独立看门狗【原理】相关推荐

  1. STM32之独立看门狗原理

    STM32的独立看门狗由内部专门的40Khz低速时钟驱动,即主时钟发生故障,它也仍然有效,这里我们需要注意独立看门狗的时钟不是准确的40Khz,二是在30~60Khz之间变化的一个时钟,只是我们估算以 ...

  2. STM32: IWDG独立看门狗

    IWDG STM32 有两个看门狗,一个是独立看门狗另外一个是窗口看门狗,IWDG号称宠物狗,WWDG号称警犬,独立看门狗用通俗一点的话来解释就是一个 12 位的递减计数器,当计数器的值从某个值一直减 ...

  3. STM32之独立看门狗与窗口看门狗总结

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

  4. 【嵌入式系统】独立看门狗原理+看门狗实验分析

    [嵌入式系统]独立看门狗原理+看门狗实验分析 1.看门狗模块概述 在由单片机构成的微机系统中,由于单片机工作常常会受到来自外界电磁场干扰导致程序跑飞,陷入死循环--即程序正常运行被打断,系统无法继续工 ...

  5. STM32F103V IWDG 独立看门狗操作

    最近编写一个程序,因为需要考虑到可靠性,所以需要在程序了添加看门狗功能.查了下STM32的相关资料,于是利用下库文件来实现IWDG独立看门狗操作.首先需要调用库文件 #include "st ...

  6. [STM32 ]内部独立看门狗IWDG

    看门狗大家应该都不陌生,STM32内部带有独立看门狗和窗口看门狗两种:其中独立看门狗依赖于内部的晶振LSI进行工作,窗口看门狗依赖于系统时钟工作: 看门狗的作用,防止程序跑飞无法实现自复位而存在:如果 ...

  7. 基于STM32的独立看门狗详细用法(IWDG)

    文章目录 前言 一.IWDG 1.简介 2.主要特性 3.独立看门狗框图 二.使用步骤 1.独立看门狗初始化 2.完整代码 三.功能演示 前言 今天要学习的是独立看门狗,看门狗电路的应用,使单片机可以 ...

  8. 7、【STM32】独立看门狗和窗口看门狗(IWDG、WWDG)实验

    前言 使用的是正点原子的探索者开发板进行学习,芯片:STM32F407ZGTx 学习说明此文档为本人的学习笔记,注重实践,关于理论部分会给出相应的学习链接. 注:本文档添加了对代码的在线调试功能,有助 ...

  9. proteus里面没有stm32怎么办_学习STM32日志——独立看门狗实验(20.06.23)

    继续更新学习STM32的历程,今天学习看门狗. 在单片机构成的微型计算机系统中,单片机的工作时常收到外界电磁场的干扰,导致程序跑飞,陷入死循环.为了解决这个问题,产生了一种用于监测单片机程序运行状态的 ...

最新文章

  1. 【RocketMQ工作原理】消息的清理
  2. Effective C++ Item 30 inline里里外外
  3. WPF 与Surface 2.0 SDK 亲密接触 - ScatterView 数据绑定篇
  4. Java float浮点数精度丢失问题
  5. 如何用python完成评分功能呢_从文件python进行单词分析和评分
  6. Kubernetes Ingress 控制器的技术选型技巧
  7. “羊贵妃”没走“牛魔王”又来?牛肉价格屡创新高
  8. SQL嵌套语句执行顺序
  9. JDom,jdom解析xml文件
  10. 24口光纤配线架 cad块_光纤配线架cad画法
  11. Atitit 提升扩展性指标与方法总结 目录 1. 扩展性常见指标 1 1.1. 代码简洁,应业务变动调整修改少 1 1.2. 免编译 1 1.3. 是否支持热部署 2 2. 常见的方法策略 2
  12. python alpha量化交易软件_2019AI量化交易教程视频 AI量化交易模型教程 alpha量化选股模型交易系统 CTA型量化策略教程...
  13. 投资组合管理之投资组合概论
  14. 机器学习算法工程师--实习面经
  15. asp.net中gridview的绑定数据源实现增删改查
  16. c++多线程detach函数用法的实例
  17. 1-开发环境--android文件系统的结构
  18. 联想E431 win10+Unbutun+Deepin系统安装
  19. 计算机专业教务工作总结,计算机系阶段工作总结
  20. 部署ChatGPT(在VPS或免费容器上),无需科学上网!

热门文章

  1. 李居明风水人人都懂版之十~洗衣机与风水
  2. mini-ui 中的message弹出框中点击确定与取消之后使用回调函数的方法
  3. position:relative与position:absolute的定位区别
  4. Wordpress--博客搬家跳坑步骤
  5. win10怎么取消开机密码?电脑小白也可以轻松掌握的3种方法
  6. 设计师推荐40个时尚的复古字体设计
  7. 【数据库系统】数据库系统概论====第十四章 大数据管理
  8. 让大数据分析更有效的5种技术措施
  9. mysql inner join原理_MySQL INNER JOIN:内连接
  10. Cadence常用器件中英文对照表