stm32看门狗工作原理

stm32看门狗工作原理一、为什么需要看门狗?在MCU微型计算机系统中,MCU运行程序很容易受到外界电磁场的干扰,从而造成程序运行错误甚至造成跑飞现象,从而陷入死循环,程序的正常运行被打乱,从而造成不可预料的严重后果,于是人们就设计了一款用于实时监测计算机运行状态的芯片,我们就将其称为看门狗。二、看门狗的作用看门狗会无时无刻的去喂狗,如果程序发生跑飞的现象,那么单片机程序就不能继续去喂狗,继而计数器计数到0,看门狗产生复位脉冲信号。单片机发生程序跑飞的现象才会产生一个复位脉冲强制单片机复位,从而使单片机正常运行。三、看门狗

大家好,又见面了,我是你们的朋友全栈君。

一、为什么需要看门狗?

在MCU微型计算机系统中,MCU运行程序很容易受到外界电磁场的干扰,从而造成程序运行错误甚至造成跑飞现象,从而陷入死循环,程序的正常运行被打乱,从而造成不可预料的严重后果,于是人们就设计了一款用于实时监测计算机运行状态的芯片,我们就将其称为看门狗。

二、看门狗的作用
看门狗会无时无刻的去喂狗,如果程序发生跑飞的现象,那么单片机程序就不能继续去喂狗,继而计数器计数到0,看门狗产生复位脉冲信号。单片机发生程序跑飞的现象才会产生一个复位脉冲强制单片机复位,从而使单片机正常运行。

三、看门狗工作原理

看门狗开始从复位值 0xFFF 递减计数,每次递减1计数器计数到末尾 0x000 时,会产生一个复位信号(IWDG_RESET)。不管何时,我们都可以给键值寄存器(IWDG_KR)中写0xAAAA,那么单片机就会自动将IWDG_RLR(自动重装载计数器中的值重新写入键值寄存器(IWDG_KR)中,键值寄存器会从自动重装载计数器的值的基础上,重新向下计数,这就是人们俗称的“喂狗”。那么看门狗是如何实现实时监测程序的呢?看门狗会无时无刻的去喂狗,如果程序发生跑飞的现象,那么单片机程序就不能继续去喂狗,继而计数器计数到0,看门狗产生复位脉冲信号。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/133263.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Linux下wait, WIFEXITED, WEXITSTATUS的比较

    Linux下wait, WIFEXITED, WEXITSTATUS的比较偶尔翻到了这几个关键字,找到个文章复习了下:“点我”。记录下:wait的函数原型是:#include/*提供类型pid_t的定义*/#includepid_twait(int*status)进程一旦调用了wait,就立即阻塞自己,由wait自动分析是否当前进程的某个子进程已经退出,如果让它找到了这样一个已

    2022年4月20日
  • 3dmax建模前景_3d建模师未来发展前景

    3dmax建模前景_3d建模师未来发展前景简单来说,没前途。本来不想说这个话题的,但是想了好久,觉得还是来说两句。我本人是从事建筑表现效果图行业的,主要用的软件就是3DMAX+VRay+PS。正式从业到现在已经三年了,半路出家。3DMAX这个软件深入很多个行业,广告、影视、工业设计、建筑设计、三维动画、多媒体制作、游戏、以及工程可视化等。但其实没有哪个行业是只用这一款软件的,在不少行业3DMAX也逐步被更新的软件替代。MAX强大在它是一个平台,所以他的上限很高,比一般的软件都要高很多,但是下限也很高,不是那么容易上手。.

    2022年9月11日
  • 随笔

    随笔

    2021年8月21日
  • 盘点python工具包并优化pip下载加速

    盘点python工具包并优化pip下载加速1、优化pip下载加速2、vscode使用安装环境python3、python相关工具包与方法3.1、Bilibili.com(B站)数据下载工具包开源地址:https://github.com/wolfbolin/BiliUtil安装命令:pipinstallBi

    2022年7月14日
  • java integer long 转换_long(Long)与int(Integer)之间的转换

    java integer long 转换_long(Long)与int(Integer)之间的转换1.将long型转化为int型,这里的long型是基础类型:longa=10;intb=(int)a;2.将Long型转换为int型的,这里的Long型是包装类型:Longa=10;intb=a.intValue();3.将Long型转换为Integer型的,这里的Long型是包装类型:Longa=10;;Integerb=a.intValue(…

    2022年6月5日
  • Python魔术方法

    Python魔术方法

    2021年7月4日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号