stm32看门狗的定义与分类

article/2025/10/23 6:37:58

stm32看门狗

一、定义

由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的模块或者芯片,俗称看门狗”(watchdog)

二、分类

STM32内置两个看门狗,独立看门狗和窗口看门狗,用来检测和解决由软件错误引起的故障。当计数器达到给定的超时值时,产生系统复位或者触发一个中断(仅适用窗口看门狗)。

(一)、独立看门狗(IWDG)

如果喂狗时间超出某个可设定的时间,就会认为程序跑飞,产生复位。
由专用的低速时钟(LSI)驱动,即使主时钟发生故障它仍有效。
独立看门狗适合应用于需要看门狗作为一个在主程序之外 能够完全独立工作,并
且对时间精度要求低的场合。
在这里插入图片描述
键寄存器(IWDG_KR)

  • 位31:16 保留,始终读为0。
  • 位15:0 KEY[15:0]: 键值(只写寄存器,读出值为0x0000)
  • 写入0xAAAA,重载计数器。软件必须以一定的间隔写入0xAAAA,否则,当计数器为0时,看门狗会产生复位。
  • 写入0x5555表示允许访问IWDG_PR和IWDG_RLR寄存器。
  • 写入0xCCCC,启动看门狗工作(若选择了硬件看门狗则不受此命令字限制)。

(二)、窗口看门狗

喂狗必须在某个可设定的时间窗内进行,早于或晚于这个时间窗喂狗都会触发复位。
由从APB1时钟分频后得到时钟驱动。
通过可配置的时间窗口来检测应用程序非正常的过迟或过早操作。
窗口看门狗最适合那些要求看门狗在精确计时窗口起作用的程序。
在这里插入图片描述
如果看门狗被启动(WWDG_CR寄存器中的WDGA位被置’1’), 并且当7位(T[6:0])递减计数器从0x40(T6为1)翻转到0x3F(T6位清零)时,则产生一个复位。
如果软件在计数器值大于窗口配置寄存器中的数值(WWDG_CFR)时重新装载计数器,也将产生一个复位。

(三)二者相同点

  1. 软件代码一直死循环在某处,无法喂狗,导致产生复位
  2. 代码运行超时,或外部一直触发中断,导致无法喂狗产生复位
  3. 喂狗时间限制可以自己设定

(四)二者不同点

  1. 计数器时钟源不同
    • 独立看门狗由内部专门的40KHz的LSI时钟,使用前不需使能
    • 窗口看门狗使用PCLK1时钟,使用前需要使能。
  2. 中断不都有
    • 独立看门狗不产生中断,超时直接复位
    • 窗口看门狗有中断,超时可以在中断中做复位前的函数炒作或者重新喂狗。
  3. 计数方式不同
    • 独立看门狗的寄存器是12位递减
    • 窗口看门狗是7位递减,窗口最大值为0x7F
  4. 超时复位时间范围不同
    • 独立看门狗:计数值 < IWDG重装载值时喂狗
    • 窗口看门狗:0x40 < 计数器值 < 窗口值Wt期间喂狗,0x40是固定的。
  5. 使用条件推荐
    • 独立看门狗一般用于避免程序跑飞或死循环
    • 窗口看门狗用于避免不按预定逻辑执行,如先于理想环境完成,或后于极
    限时间超时。

http://chatgpt.dhexx.cn/article/COpI3m5J.shtml

相关文章

STM32看门狗超时时间计算

独立看门狗 公式 超时时间的公式为 &#xff1a;超时时间 &#xff1a;IWDG_PR寄存器中位2:0的十进制值 &#xff1a;重装载寄存器IWDG_RLR所对应的重装载数值 公式解读 首先&#xff0c;我们要明白&#xff1a; 独立看门狗内部是一个递减计数器。如果寄存器中的装载数值…

5.stm32看门狗

1. STM32-独立看门狗IWDG剖析 2. STM32-独立看门狗实例讲解 3. STM32-窗口看门狗WWDG剖析 4. STM32-窗口看门狗实例讲解 一.基础原理 1. 简单理解: 使用LSI(外部低速时钟),计数,及时喂狗不会复位(看门狗没有减到0喂狗,就认为程序正常工作),不及时喂狗就会导致复位. 2. 看…

STM32——看门狗

一、简介 STM32F10xxx内置两个看门狗&#xff0c;提供了更高的安全性、时间的精确性和使用的灵活性。两个看门狗设备(独立看门狗和窗口看门狗)可用来检测和解决由软件错误引起的故障&#xff1b;当计数器达到给 定的超时值时&#xff0c;触发一个中断(仅适用于窗口型看门狗)或产…

单片机STM32看门狗详解(嵌入式学习)

单片机STM32看门狗 什么是看门狗为什么需要看门狗&#xff1f;STM32CubeMX配置和应用示例独立看门狗&#xff08;IWDG&#xff09;窗口看门狗&#xff08;WWDG&#xff09; 注意事项 什么是看门狗 单片机STM32的看门狗&#xff08;Watchdog&#xff09;是一种硬件定时器&#…

STM32配置看门狗

一、看门狗时间计算公式 时间计算(大概):Tout((4*2^prer)*rlr)/40 (ms). prer:分频数:0~7 rlr:重装载寄存器值 举例&#xff08;4 * 2^4 * 625&#xff09; /401000ms1s 二、如何实际使用&#xff1f; 放狗和喂狗总是一起使用的&#xff0c;程序在溢出时间内喂狗才算合理 在…

stm32看门狗定时器记录

文章目录 1、看门狗介绍2、独立看门狗3、窗口看门狗 1、看门狗介绍 STM32 有两个看门狗&#xff0c;一个是独立看门狗另外一个是窗口看门狗。 独立看门狗简单来说就是一个 12 位的递减计数器&#xff0c;当计数器的值从某个值一直减到 0 的时候&#xff0c;系统就会产生一个复位…

STM32看门狗(独立看门狗与窗口看门狗)

简介 STM32 有两个看门狗&#xff0c;一个是独立看门狗&#xff08;IWDG&#xff09;另外一个是窗口看门狗&#xff08;WWDG&#xff09;&#xff0c;独立看门狗号称宠物狗&#xff0c;窗口看门狗号称警犬。 独立看门狗用通俗一点的话来解释就是一个 12 位的递减计数器&#…

STM32看门狗简述

概述 看门狗一般分为硬件看门狗和软件看门狗&#xff0c;主要用来解决程序CPU异常&#xff0c;程序跑飞挂死等问题&#xff0c;提高系统的可靠性。 硬件看门狗是利用一个定时器电路&#xff0c;其定时输出连接到电路的复位端&#xff0c;程序在一定时间范围内对定时器清零(俗…

STM32看门狗作用

STM32F103 独立看门狗 学习笔记 引言 STM32是一系列基于ARM Cortex-M处理器的微控制器。看门狗&#xff08;Watchdog&#xff09;是STM32的一个重要功能模块&#xff0c;它能够帮助程序员实现系统的可靠性和稳定性。 看门狗的作用 在嵌入式系统中&#xff0c;软件有时会因为…

STM32看门狗详解

看门狗的作用&#xff1a;防止单片机因未知原因死机或比我们预期的时间过长长时间不能响应&#xff0c;如果出现这种问题&#xff0c;看门狗就会把单片机复位 独立看门狗&#xff08;IWDG&#xff09;&#xff1a; 时钟来源&#xff1a;内部低速时钟&#xff08;LSI&#xff0…

STM32看门狗

STM32处理器内置了2个看门狗&#xff1a; 独立看门狗 IWDG (Independent Watchdog) 窗口看门狗 WWDG (Window Watchdog) 独立看门狗由LSI低速时钟提供 40kHz &#xff0c;主时钟出故障也不影响&#xff0c;常用IWDG复位电路。 窗口看门狗由APB1分频后提供&#xff0c;主时…

【STM32】看门狗模块

&#x1f431;作者&#xff1a;一只大喵咪1201 &#x1f431;专栏&#xff1a;《STM32学习》 &#x1f525;格言&#xff1a;你只管努力&#xff0c;剩下的交给时间&#xff01; &#x1f4c3;看门狗概述 什么是看门狗&#xff1a; 在由单片机构成的微型计算机系统中&#x…

【STM32】stm32独立看门狗(IWDG)

stm32独立看门狗&#xff08;IWDG&#xff09; 0x01 IWDG简介0x02 IWDG主要性能0x03 IWDG寄存器配置 0x01 IWDG简介 STM32F10xxx内置两个看门狗&#xff0c;(独立看门狗和窗口看门狗)可用来检测和解决由软件错误引起的故障&#xff1b;当计数器达到给定的超时值时&#xff0c;…

STM32 看门狗详解

目录 1、IWDG 1.1 独立看门狗简介 1.2 独立看门狗的特点 1.3 独立看门狗功能描述 1.4 硬件看门狗 1.5 寄存器访问保护 1.6 调试模式 2、WWDG 2.1 简介 2.2 窗口看门狗主要特点 2.3 窗口看门狗功能说明 2.4 如何设置看门狗超时 2.5 调试模式 3、区别 1、IWDG 1.1…

手把手教你开发stm32——看门狗(基于hal库)

目录&#xff1a; 1.独立看门狗介绍1.1.独立看门狗简介1.2.独立看门狗功能描述1.3.独立看门狗工作框图 2.独立看门狗实验2.1.cubemx配置2.2.具体代码实现 3.独立看门狗的相关寄存器3.1.键寄存器&#xff08;IWDG_KR&#xff09;3.2.预分频寄存器3.3.重装载寄存器&#xff08;IW…

STM32—看门狗详解入门(独立看门狗、窗口看门狗)

目录 一、什么是看门狗&#xff1f; 二、独立看门狗IWDG 1.特点、本质及原理 2.配置 3.main.c代码 三、窗口看门狗WWDG 1.特点、本质及原理 2.配置 3.main.c代码 四、独立看门狗与窗口看门狗的比较 一、什么是看门狗&#xff1f; 看门狗主要是用来监测单片机运行状态…

STM32(七)------- 独立看门狗(IWDG)

独立看门狗 介绍STM32独立看门狗简介原理功能描述IWDG关键寄存器描述键寄存器(IWDG_KR)状态寄存器(IWDG_SR)预分频寄存器(IWDG_PR)重装载寄存器(IWDG_RLR)IWDG寄存器映像和复位值 使用启动 STM32 的独立看门狗应用设计功能设计程序设计 后续 介绍 STM32独立看门狗简介 STM32 …

STM32—窗口看门狗(WWDG)

STM32—窗口看门狗(WWDG) 窗口看门狗&#xff08;WWDG&#xff09; STM32—窗口看门狗(WWDG)窗口看门狗&#xff08;WWDG&#xff09;WWDG 简介WWDG 功能框图剖析窗口看门狗时钟计数器时钟计数器窗口值计算看门狗超时时间 怎么用 WWDG独立看门狗所用到的库函数窗口看门狗操作步…

初学STM32之看门狗

初学STM32之看门狗 一、看门狗概述 1.什么是看门狗 单片机在工作中常常会受到来自外界电磁场的干扰&#xff0c;造成程序跑飞&#xff0c;而陷入死循环&#xff0c;程序的正常运行被打断&#xff0c;使得系统无法正常工作&#xff0c;造成整个系统陷入停滞状态。所以为了对单…

matlab 工具箱 GATBX 的安装,安装Sheffield Matlab遗传算法工具箱的建议

在通常的遗传算法学习中&#xff0c;可以直接对目标函数进行编写&#xff0c;但是当我们需要使用simulink进行仿真优化需要用到遗传算法时&#xff0c;我这里有两种建议&#xff1a;①在模型中添加sfunction然后使用自己喜欢的语言进行编写&#xff1b;②使用Matlab遗传算法工具…