什么是看门狗

看门狗:WDT(Watch Dog Timer)防止程序运行故障,防止程序跑飞或者卡在某个部分。

看门狗本质是一个递增(或者递减)的定时器,程序开始执行的时候,看门狗的值就开始递增或者由某固定值递减,到达设定的值的时候单片机就触发中断或者产生系统复位,重新运行。

寄存器内部结构


WDT_FLAG:溢出标志位
EN_WDT:使能位
CLR_WDT:溢出清零位
IDL_WDT:待机
WDT_PS[2:0]:时钟

当程序卡在某个位置的时候,一直没有“喂狗”,这个时候就要喂狗

/*清零喂狗*/
CLR_WDT=1

stm32中的看门狗

以STM32F4xx 系列单片机作为参考,其具有两个看门狗,且均可用于检测并解决软件错误导致的故障。

独立看门狗(IWDG)

独立看门狗:由其专用低速时钟 (LSI) 驱动,因此即便在主时钟发生故障时仍然保持工作状态。
独立看门狗顾名思义,其独立于主时钟,哪怕主时钟故障仍可保持工作状态,多应用于需要看门狗独立工作且对于时间精度要求较低的场合。

特性:自由运行递减计数器
时钟由独立 RC 振荡器提供(可在待机和停止模式下运行)
当递减计数器值达到 0x000 时产生复位(如果看门狗已激活)

窗口看门狗(WWDG)

窗口看门狗 (WWDG) 时钟由 APB1时钟经预分频后提供,通过可配置的时间窗口来检测应用程序非正常的过迟或过早的操作(必须是限定时间范围内的值)。

特性:可编程的自由运行递减计数器
复位条件:
当递减计数器值小于 0x40(固定值) 时复位(如果看门狗已激活)
在窗口之外重载递减计数器时复位(如果看门狗已激活)
提前唤醒中断 (EWI):当递减计数器等于 0x40(固定值) 时触发(如果已使能且看门狗已激活)

单片机学习——看门狗相关推荐

  1. STC单片机启动看门狗定时器介绍和使用

    STC单片机启动看门狗定时器介绍 ✨这里以STC8系列为例.

  2. 51单片机节电模式看门狗

    这里写目录标题 节电模式 1. 空闲(Idle)模式 2. 掉电(Power-down)模式 3. 异同点 相关寄存器 看门狗(watchdog) STC90C51RC/RD+系列单片机可以运行2种省 ...

  3. 单片机:看门狗程序简介

    什么是看门狗(watchdog)

  4. STC 51单片机43——看门狗

    看门狗测试,通过修改delay函数的延时长度,可以看到看门狗是否复位系统. #include <reg52.h>             sfr  WDT_CONTR =0xE1;     ...

  5. 51单片机之看门狗定时器ing STC12C5A60S2

    1.看门狗定时:每隔一定时间不刷新定时器(不给狗粮),他将溢出(狗叫giao~~).多数情况,定时器溢出将复位系统 2.看门狗用来处理软件或硬件错误的死机,保证自动复位.可用于特定情况下恢复 3.外部 ...

  6. STC8学习--看门狗

    1.关于看门狗,本质上可以把它叫做,设备复位定时器. 设置好频率之后,执行语句后,定时器会在启动一定时间之后,让设备复位.设备复位后重新从main函数开始执行,再次执行到寄存器配置语句后,过一段时间设 ...

  7. ABOV单片机内部看门狗WDT的代码实现讲解及示例代码-[MC96F6332D]

    一.准备工作 1.KEIL C51编译环境 2.CodeGen8 代码生成器 3.MC96F6332D 开发板 4.USB-OCD II仿真器 二.内部看门狗代码生成 1.在CodeGen8 代码生成 ...

  8. STC 51单片机46——看门狗测试

    #include <reg52.h>             sfr  WDT_CONTR =0xE1;        //声明WDT_CONTR void delay(void){  / ...

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

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

  10. stm32看门狗_STM32单片机:独立看门狗、窗口看门狗的配置

    SATM32单片机的看门狗有独立看门狗和窗口看门狗之分,这两者的工作原理却完全不同,今天来看一下他们的具体区别和配置方法.▍STM32独立看门狗由专门的低速时钟(LSI)驱动,即便是主时钟发生故障它仍 ...

最新文章

  1. 大学计算机英语句子,大学英语作文万能句子
  2. 深度学习中的Dropout原理介绍
  3. div+css 技巧摘录
  4. c语言定义小数无穷小,OC中常用的数学函数以及浮点处理函数
  5. Performance Optimization for Mobile Devices
  6. 解决Docker容器时间与主机不一致问题
  7. STM32单线串口对总线舵机的控制
  8. verilog符号 与或非 异或_与非门、或非门、异或门、同或门的逻辑表达式和逻辑符号怎么写...
  9. 用javascript制作简易的QQ登录网页
  10. 深度学习结合SLAM的研究思路/成果整理之(二)语义SLAM 端到端
  11. 迪杰斯特拉算法c语言6,迪杰斯特拉算法C语言实现
  12. pandas+matplotlib——习题一
  13. IM即时通讯开发之iOS版微信小视频功能
  14. 神经网络发展历史时间统计表(留存收藏)
  15. Google的搜索结果真的没有人为参与吗?
  16. 记录下UE4解决EQS Bug的过程
  17. C# 字符串中去掉换行符、间隔符等特殊字符
  18. html5模板 欧美风格,红色欧美风格响应式后台系统网页模板
  19. 宝宝终于退烧了,高兴
  20. UltraISO 9.7.6.3829下载及安装步骤

热门文章

  1. C# 使用NPIO 导出导出EXECL
  2. JavaScript基础学习笔记
  3. 安卓view.getMeasuredHeight()得到的高度单位以及dp和px的转换
  4. 1招提升Java单元测试ROI
  5. java给手机发短信_java web 项目向手机发送短信
  6. 宏晶微MS2109高清视频采集芯片资料
  7. 每天吃多少才不会胖?食物和卡路里对照表
  8. java人民币数字转换中文大写(精确到人民币大写分)
  9. 一种深度学习方法---迁移学习
  10. 快速读懂CAN报文 DBC文件 解析文件