STM32看门狗详解

article/2025/10/23 6:34:44

看门狗的作用:防止单片机因未知原因死机或比我们预期的时间过长长时间不能响应,如果出现这种问题,看门狗就会把单片机复位

独立看门狗(IWDG):

  时钟来源:内部低速时钟(LSI),所以用看门狗时不需要配置时钟


一般配置过程:

寄存器:


IWDG_KR:

32位寄存器,低16位有效,只写

写入 0xAAAA,喂狗

0x5555,取消IWDG_PR、IWDG_RLR的写保护

0xCCCC,启动看门狗

IWDG_PR:

32位寄存器,低3位有效

配置分频系数,4*2^prer

IWDG_RLR:

32位寄存器,低12位有效,每次对IWDG_KR写入0xAAAA,这个值会装载到看门狗计数器中(向下记数,记到0复位)

IWDG_SR:

32位寄存器,低2位有效

位0:PVU:看门狗预分频值更新状态位,1:指示预分频正在更新,预分频器值只有在 PVU 位为 0 时才可更新。

位1:RVU:看门狗重装载值更新状态位,1:指示重装载值正在更新,重载值只有在 RVU 位为 0 时才可更新。

代码:

void iwdg_init()
{//IWDG_PR和IWDG_RLR有写保护,对其进行预分频和重装载值配置要先取消写保护IWDG->KR=0X5555;//配置预分频值//预分频值 = 4*2^prerIWDG->PR=0X04;    //64分频//配置重装载值//12位IWDG->RLR=500;//喂狗IWDG->KR=0XAAAA;//启动看门狗IWDG->KR=0XCCCC;
}

 窗口看门狗(WWDG):

时钟来源:APB1时钟,使用时应先使能时钟,这一点与独立看门狗不一样

会先分频4096倍,再分2^WDGTB,所以WWDG超时公式如下:
Tout=(4096 * 2^WDGTB * (窗口值低6位+1))/Fpclk1

窗口看门狗喂狗时间有上下限,上限就是上窗口值(寄存器可以进行配置,不固定),下窗口值(固定,0X3F),喂狗必须在上窗口与下窗口之间,大于上窗口喂狗或递减 寄存器到0X3F都将复位。WWDG还有一个中断(提前唤醒中断),作用是当递减寄存器到0X40时会进入中断

一般配置过程:

 寄存器:

WWDG_CR:

32位,只用到低8位

位7:WDGA    激活位

位6:0  :这些位用来存储看门狗计数器的值。它每隔 (4096 x 2^WDGTB) PCLK1 个周期递减一次。当它 从 0x40 滚动到 0x3FT6 清零)时会产生复位。

WWDG_CFR:

只用到低10位

位9: EWI(Early Wakeup Interrupt),提前唤醒中断,置1后计数器达到0x40会产生中断。

位8:7  :WDGTB(TIME Base ),用来分频

位6:0  :窗口置,要大于0x3f

WWDG_SR:

位0:EWIF(Early Weakeup Interrupt Flag),在中断服务程序中要置0


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

相关文章

STM32看门狗

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

【STM32】看门狗模块

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

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

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

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库)

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

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

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

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

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

STM32—窗口看门狗(WWDG)

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

初学STM32之看门狗

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

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

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

MATLAB遗传算法工具箱的函数及实例

遗传算法(GA)是一种进化算法,是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。 遗传算法把问题参数编码为染色体,利用层层迭代的方式进行选择、…

基于Matlab遗传算法工具箱解决物流中心选址

目录 1.问题 2.建模 3.Matlab编程、求解 1.问题 物流配送中6个客户的位置坐标和配数数量如表1所示,如何设置物流配数中心使得配送量最小。 2.建模 3.Matlab编程、求解 编写目标函数min 遗传算法只能求最小值 function y fun(x)site[52 42 93 62 90 70;…

谢菲尔德遗传算法工具箱函数简介

一 谢菲尔德遗传算法工具箱的主要函数如下表所示: 二 函数介绍—创建种群 1. crtbase 1.1 功能 创建一个所有染色体中最基本的染色体**对应的向量*语法: 1.2 语法 BaseVec crtbase(Lind,Base) 1.3 输入参数 1 L…

matlab遗传工具箱ga,用遗传算法工具箱(GA)识别Bouc-Wen模型微分方程参数

本帖最后由 hgrhgr520 于 2016-3-20 14:30 编辑 Bouc-Wen模型因数字处理方便简单而得到较为广泛的应用,力可以表示为: QQ截图20160320125352.jpg (3.2 KB, 下载次数: 21) 2016-3-20 12:49 上传 利用遗传算法工具箱(GA)对Bouc-Wen模型进行参数识别。 实验数据来源于对磁流变阻…

MATLAB机器学习系列-10:遗传算法原理及其matlab遗传算法工具箱使用

遗传算法原理 基本思想 遗传算法(Genetic Algorithm,GA)是一种进化算法,其基本原理是仿效生物界中的“物竞天择、适者生存”的演化法则,它最初由美国Michigan大学的J. Holland教授于1967年提出。遗传算法是从代表问题…

2021-04-26 Matlab遗传算法工具箱的使用及实例(线性规划)

Matlab遗传算法工具箱的使用及实例(线性规划) 引言 在使用遗传算法(Genetic Algorithm,GA)之前,你得了解遗传算法是干什么的。遗传算法一般用于求解优化问题。遗传算法最早是由美国的 John holland于20世纪70年代提出,该算法是根…

遗传算法工具箱_含约束条件的遗传算法在连续催化重整优化操作中的应用

遗传算法(Genetic a lgo rithm s, GA ) 是由Hol-land 教授及其学生首先提出的一种仿照生物学中进化论思想而衍生出的优化算法。遗传算法应用于优化问题的求解, 是一个启发式随机搜索的过程, 与传统的优化搜索算法相比具有可以克服局部最优解的陷阱, 搜索得到全局最优解等特点, …

北卡罗来纳大学遗传算法工具箱

目录 北卡罗来纳大学遗传算法工具箱 gaot 重要函数如下 1.initializega函数介绍 2.ga函数介绍 3.initializega求解一元函数 注:本文的代码可用于matlab 2012a版本 北卡罗来纳大学遗传算法工具箱 gaot 重要函数如下 optimtool(matlab内部封装函数&a…

Matlab遗传算法工具箱求函数最小值

题目 先上代码 %%%%%%%%%%%%%%% %% test.m %% %% Feng1909 %% %%%%%%%%%%%%%%% function result test(a)is_max 0;x a(1);y a(2);PI 3.141592653;if is_max 0result -(sin(3*PI*x)*cos(4*PI*y)cos(5*PI*x*sin(2*PI*y)))*(1);endif is_max 1result (sin(3*PI*x)*c…

简单使用MATLAB自带的遗传算法工具箱

一、使用单变量进行参数寻优 如s = -2x ,当x在[0,1]范围内,取多少时s为最小值? 使用步骤如下: 1、建立一个function函数,命名为fu.m 2、在MATLAB命令窗口输入optimtool,接下来进行选择,选择完后,点击start。 x = 1时,s取-2(最小值) 寻优曲线图如下: 二、使用双变…