什么是看门狗?为什么要看门狗?

看门狗可不是那个入侵手机的游戏
在STM32中,它具有"看家"的功能
所谓"看家",意思就是察觉到异常,就马上反应过来,反馈给主人

由于外部电磁等干扰,程序可能跑飞进入死循环
这时候就要看门狗来解决这个问题

STM32中的看门狗:

看门狗的工作原理:

通俗的来说
就是在狗饿死前喂它
防止它饿死的时候复位

如果程序跑飞,就没有及时喂狗
狗狗饿死了
程序就复位了
(希望狗没事)

下面是独立看门狗的工作流程图

KR寄存器是狗主人,负责【打开看门狗】和【喂狗】
写入0xCCCC的时候,启用独立看门狗,计数器初始化位0xFFF
写入0xAAAA的时候,RLR(自动重装载寄存器)将计数器重新装载(狗子饱了)

PR和RLR寄存器都有写保护功能,启用的时候要先把写保护取消
那怎么取消写保护呢?
在KR寄存器里面写入0x5555

独立看门狗的相关库函数

配置IWDG一般步骤:

这些函数在stm32f10x.h下面找
因为第一次计数器的值为0xFFF
但是我想要它第一次就是我想要的值(在重装载寄存器中)
那我就要在【设置好重装计数器之后】
【先给计数器重装一次】(喂狗)

IWDG_Init()的初始化配置代码(放在IWDG.c下)

main函数中:

prer和rlr由查表和计算得出

看门狗是个啥东西?/汪汪(通俗理解看门狗)相关推荐

  1. 【看门狗】通俗理解什么是看门狗?如何工作?

    一.看门狗是什么? 通俗来讲,看门狗可理解为"看门"!!!一切正常就不会叫,一旦出现异常,就会叫,从而将信息反馈给我们.因此,他是用来监测单片机运行状态和解决程序引起的故障的模块. ...

  2. 看门狗电路 通俗理解

    视频讲解:李想STM32初级教程_哔哩哔哩_bilibili 看门狗通俗理解: 转自:STC89C5X单片机"看门狗"原理详解-电子工程世界 很多人初次接触不太理解怎么用,书上也讲 ...

  3. C8051关闭看门狗汇编语言,汇编写启动代码之关看门狗

    1 什么是看门狗? 看门狗(watch dog timer 看门狗定时器).大家想象这样一个场景:家门口有一只狗,这个狗定时会饿(譬如说2小时一饿),够饿了会胡乱咬死人.人进进出出要想保证安全必须提前 ...

  4. 如何通俗理解Word2Vec

    如何通俗理解Word2Vec 看本文之前,建议先看此文:<BERT通俗笔记:从Word2Vec/Transformer逐步理解到BERT> 前言 今年上半年,我在我的上一篇LSTM博客中写 ...

  5. AI绘画能力的起源:通俗理解VAE、扩散模型DDPM、DETR、ViT/Swin transformer

    前言 2018年我写过一篇博客,叫:<一文读懂目标检测:R-CNN.Fast R-CNN.Faster R-CNN.YOLO.SSD>,该文相当于梳理了2019年之前CV领域的典型视觉模型 ...

  6. 通俗理解注意力机制中的Q、K和V表示的具体含义

    https://www.jianshu.com/p/7a61533fd73b 通俗理解讲解一 以翻译为例 source:我 是 中国人 target: I am Chinese 比如翻译目标单词为 I ...

  7. CNN笔记:通俗理解卷积神经网络

    通俗理解卷积神经网络(cs231n与5月dl班课程笔记) http://blog.csdn.net/v_july_v/article/details/51812459 1 前言 2012年我在北京组织 ...

  8. 通俗理解LDA主题模型

    0 前言 印象中,最开始听说"LDA"这个名词,是缘于rickjin在2013年3月写的一个LDA科普系列,叫LDA数学八卦,我当时一直想看来着,记得还打印过一次,但不知是因为这篇 ...

  9. oracle的redo和undo,OracleUndoRedo通俗理解

    OracleUndoRedo通俗理解以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 什么是REDO REDO记录tran ...

最新文章

  1. Asp.net支持三种类型的cache[转]
  2. 第一个SpringBoot入门级项目(超详细步骤)
  3. mysql job_MySQL数据传输中dtle 之 job 实现简析-爱可生
  4. oracle数据库主键自增序列_Oracle数据库序列详解
  5. WordPress WP Photo Album Plus插件‘wppa-tag’跨站脚本漏洞
  6. Ansible执行过程分析、异步模式和速度优化
  7. Oracle 默认表空间(default permanent tablespace) 说明
  8. Python中的图书管理系统
  9. python接管已经打开的浏览器_Python Webdriver 从新使用已经打开的浏览器实例
  10. laravel的seeder数据填充
  11. 电脑不分盘有没有关系
  12. 副业搞钱的几个野路子:两个年入10万的零成本赚钱项目
  13. 驾校机器人教练售价_驾校机器人教练温柔鼓励!网友:好怕它被我气死
  14. 免费送!!!CSDN 会员月卡!
  15. AutoCAD中ObjectARX C++常用的方法
  16. 微信小程序底部菜单详解
  17. 惊闻!港媒:中国首艘航母海试时间延后1个月(图)
  18. lopatkin俄大神精简Windows 10 Enterprise 19041.331 20H1 Release x86-x64 EN-RU PIP
  19. 全文检索 Lucene
  20. 322. 零钱兑换 给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。 你可以认为每

热门文章

  1. 下载模拟器提示关闭hyper,重启电脑不生效
  2. 信息学奥赛真题解析(玩具谜题)
  3. pyspark- ml-features
  4. What is Java thread priority? 什么是java线程优先级
  5. uber幽灵车_Uber&Careem合并:新兴的出租车服务将在中东和北非地区产生影响?...
  6. 【数学之美】分形——发现隐藏的维度
  7. 《游戏开发者》调查:iOS和Unity是游戏开发者的最爱
  8. DockerCon 2016 西雅图即将到来,8大主题详尽解读
  9. 如何免费在线将Word转为PDF?
  10. gyctf_2020_foolish_query(C++中的shared ptr指针的误用)