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

内容为 '_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. python工程~多个python文件如何运行
  2. iOS VideoToolbox硬编H.265(HEVC)H.264(AVC):1 概述
  3. 获取设置本地当前默认打印机
  4. mysql根据bin log恢复_MySQL 通过 binlog 恢复数据
  5. pie hist plot boxplot
  6. 使用SQLQuery
  7. Hugepages你用了吗?--原理概念篇
  8. Bone Collector【01背包】
  9. 想了解物联网应用的自动部署,看这篇就够了
  10. 波音正在对737 Max进行软件升级 改善飞行员培训计划
  11. python从其他文件导入模块_Python模块可以使用其他文件的导入吗?
  12. 使用Power Designer(PD)创建数据库模型、数据库表
  13. 《Java编程思想》读书笔记-对象导论
  14. 拓端tecdat|R语言用AR,MA,ARIMA 模型进行时间序列预测
  15. LINUX C#开发教程
  16. 浅析 微信公共平台消息 开发原理
  17. 渗透测试工具篇之Metasploit(MSF)扫描模块的简单使用
  18. iOSApp是如何启动的
  19. [微信小程序]适配各个不同机型屏幕
  20. windows安全警报怎么关闭_win10关闭Windows安全中心的操作方法

热门文章

  1. 斗地主游戏java底层实现
  2. Html常用行级标签练习
  3. 菜小鸟之改bug经验小结
  4. 双曲面屏+无线充电,S6 edge+树立旗舰新标杆
  5. js---常用的js
  6. 【swinUnet官方代码测试自己的数据集(已训练完毕)】
  7. 外贸网站的SEO优化该怎么做?
  8. Windows键的常用快捷键收集
  9. 对于植物神经紊乱的治疗 中医采用辩证论治的方法
  10. 匿名类、内部类、匿名内部类