STM32学习笔记——看门狗

目录

一、看门狗概述

1、看门狗工作原理

2、独立看门狗IWDG主要性能:

二、看门狗相关寄存器

1、IWDG_KR (Independent Watchdog_Key Register) 关键词寄存器

2、IWDG_PR (Independent Watchdog_Prescaler Register) 预分频寄存器

3、IWDG_RLR (Independent Watchdog_Reload Register) 重载寄存器

4、IWDG_SR (Independent Watchdog_Status Register) 状态寄存器

三、看门狗配置 


一、看门狗概述

        STM32自带两个看门狗:独立看门狗IWDG和窗口看门狗WWDG。

        看门狗的作用是用来检测和解决软件错误引起的故障;解决程序由于不正当的操作或者程序自身原因所造成的死循环或者“跑飞”现象。

        用户需要在规定时间内进行喂狗操作,否则看门狗将执行一次MCU复位操作。

1、看门狗工作原理

        看起看门狗后设置递减计数器的初始值,当计数值达到溢出值时,产生MCU复位,此时本来运行的程序将会终止,并且重新启动单片机。在使用看门狗之后,在正常运行的程序中加入喂狗的程序,即采用定时器的方式每隔一段时间进行一次重置计数器装载值,这样只要程序正常运行,没有出现故障或软件错误程序就会不断地定时喂狗,从而不会使计数器超时产生复位信号。

2、独立看门狗IWDG主要性能:

        ①IWDG采用的是LSI,评率为40KHz,这个在时钟那一节也提到过。

        ②自由运行的递减计数器

        ③时钟由独立的RC振荡器提供,也就是说可在停止和待机模式下工作

        ④看门狗被激活后,则在计数器计数到0x000时产生复位

图1.1 IWDG框图 


*WWDG (Window Watchdog) 窗口看门狗由从APB1时钟分频后得到的时钟驱动,通过可配置的时间窗口来检测应用程序非正常的过迟 或过早的操作。 IWDG最适合应用于那些需要看门狗作为一个在主程序之外,能够完全独立工作,并且对时间精度要求较低的场合。WWDG最适合那些要求看门狗在精确计时窗口起作用的应用程序。


二、看门狗相关寄存器

1、IWDG_KR (Independent Watchdog_Key Register) 关键词寄存器

2、IWDG_PR (Independent Watchdog_Prescaler Register) 预分频寄存器

3、IWDG_RLR (Independent Watchdog_Reload Register) 重载寄存器

4、IWDG_SR (Independent Watchdog_Status Register) 状态寄存器

三、看门狗配置 

        看门狗初始化→喂狗→主函数

若文章内容出现错误,恳请各位批评指正,感激不尽!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/674987.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

懒人精灵 之 Lua 捕获 json解析异常 ,造成的脚本停止.

Time: 2024年2月8日20:21:17 by:MemoryErHero 1 异常代码 Expected value but found T_END at character 12 异常代码 Expected value but found T_OBJ_END at character 223 处理方案 - 正确 json 示范 while true do--Expected value but found T_END at character 1--Ex…

鄂尔多斯交警推进东康快线“恶劣天气高影响路段优化工程”,全面提升科技赋能实战水平!

2023年5月29日,三部门联合印发《2023年省级恶劣天气高影响路段优化提升气象保障工作方案》(以下简称《工作方案》),持续推动恶劣天气交通预警处置试点成果和优化提升工作经验在第二批试点路段上推广应用。 【安装在东康快线上的应…

Jasper Manual

DATEFORMAT DATEFORMAT( ) 函數不可以使用 new SimpleDateFormat("yyyy-MM").format($F{Invoice_Date}.clone())

面向对象的三大特征之一继承

继承 继承的特性 概念:可以使得子类具有父类的属性(成员变量)和方法(成员方法),还可以在子类中重新定义,追加属性和方法。 继承的格式: public class 子类名 extends 父类名{} 父类:基类、超类 子类:派生…

【Unity】QFramework通用背包系统优化:TipPanel优化

前言 在学习凉鞋老师的课程《QFramework系统设计:通用背包系统》第五章时,笔者对物品提示TipPanel界面进行了一些优化。 优化内容包括: 解决闪烁问题跟随鼠标移动自适应界面大小生成位置优化 效果还是蛮丝滑的: 解决闪烁问题 …

[linux]:匿名管道和命名管道(什么是管道,怎么创建管道(函数),匿名管道和命名管道的区别,代码例子)

目录 一、匿名管道 1.什么是管道?什么是匿名管道? 2.怎么创建匿名管道(函数) 3.匿名管道的4种情况 4.匿名管道有5种特性 5.怎么使用匿名管道?匿名管道有什么用?(例子) 二、命名…

yolov5 torch转tensorrt详解【推荐】

转化函数 # 可以在https://github.com/ultralytics/yolov5/blob/master/export.py里面找到 def export_engine(model, im, file, half, dynamic, simplify, workspace4, verboseFalse, prefixcolorstr(TensorRT:)):# YOLOv5 TensorRT export https://developer.nvidia.com/ten…

MVCC多版本并发控制

MVCC mvcc是多版本并发控制。维护一个数据的多个版本,使读写没有冲突 隐式字段 DB_TRX_ID:最近修改事务id,记录插入这条记录或最后一次修改该记录的事务id DB_ROLL_PTR:回滚指针,指向这条记录的上一个版本,用于配合undo log&…

筛法思想的题目

这道题目比较经典,或者说这种思想比较经典。 这种筛法的思想。 我们正着想对于每一个 n 、 n − 1 、 n − 2 、 . . . 、 2 、 1 n、 n-1、n-2、...、2、1 n、n−1、n−2、...、2、1都分解一遍质因数显然是来不及的时间复杂度达到 O ( n n ) O(n \sqrt{n}) O(nn ​…

Open CASCADE学习|点和曲线的相互转化

目录 1、把曲线离散成点 1.1按数量离散 1.2按长度离散 1.3按弦高离散 2、由点合成曲线 2.1B样条插值 2.2B样条近似 1、把曲线离散成点 计算机图形学中绘制曲线,无论是绘制参数曲线还是非参数曲线,都需要先将参数曲线进行离散化,通过离…

LayUI中表格树折叠 --

1、先将插件源码进行下载,新建 tableTree.js 文件,将源码放进去 2、将 tableTree.js 文件 配置之后,在需要使用的页面进行引入: layui.define(["tableTree"],function (exports) {var tableTree layui.tableTree;// …

2024年【天津市安全员B证】模拟试题及天津市安全员B证模拟考试题库

题库来源:安全生产模拟考试一点通公众号小程序 天津市安全员B证模拟试题是安全生产模拟考试一点通生成的,天津市安全员B证证模拟考试题库是根据天津市安全员B证最新版教材汇编出天津市安全员B证仿真模拟考试。2024年【天津市安全员B证】模拟试题及天津市…

蓝桥杯官网练习题(大臣的旅费)

问题描述 很久以前,T 王国空前繁荣。为了更好地管理国家,王国修建了大量的快速路,用于连接首都和王国内的各大城市。 为节省经费,T 国的大臣们经过思考,制定了一套优秀的修建方案,使得任何一个大城市都能从…

Redis——缓存设计与优化

讲解Redis的缓存设计与优化,以及在生产环境中遇到的Redis常见问题,例如缓存雪崩和缓存穿透,还讲解了相关问题的解决方案。 1、Redis缓存的优点和缺点 1.1、缓存优点: 高速读写:Redis可以帮助解决由于数据库压力造成…

安全的接口访问策略

渗透测试 一、Token与签名 一般客户端和服务端的设计过程中,大部分分为有状态和无状态接口。 一般用户登录状态下,判断用户是否有权限或者能否请求接口,都是根据用户登录成功后,服务端授予的token进行控制的。 但并不是说有了tok…

【LeetCode】332. 重新安排行程(困难)——代码随想录算法训练营Day30

题目链接:332. 重新安排行程 题目描述 给你一份航线列表 tickets ,其中 tickets[i] [fromi, toi] 表示飞机出发和降落的机场地点。请你对该行程进行重新规划排序。 所有这些机票都属于一个从 JFK(肯尼迪国际机场)出发的先生&a…

椭圆曲线加密

椭圆曲线加密(Elliptic Curve Cryptography,ECC)是一种公钥加密算法,它基于椭圆曲线上的数学运算来实现安全的通信。 以下是椭圆曲线加密的基本过程: 1. 参数选择:选择一个适当的椭圆曲线和一个基础点。椭…

C#(C Sharp)学习笔记_运算符与布尔类型【四】

算术运算符 所谓算术运算符:就是现实中的加减乘除之类的符号,但在编程语言中,它们又有不同于现实的语法。下面就介绍一下算术运算符的各种符号包括计算案例。 运算符描述实例(设a为4;b为2)把两个操作数相加A B 将得到 6-从第一…

JVM-运行时数据区程序计数器

运行时数据区 Java虚拟机在运行Java程序过程中管理的内存区域,称之为运行时数据区。《Java虚拟机规范》中规定了每一部分的作用。 程序计数器的定义 程序计数器(Program Counter Register)也叫PC寄存器,每个线程会通过程序计数器…

1.3 Verilog 环境搭建详解教程

学习 Verilog 做仿真时,可选择不同仿真环境。FPGA 开发环境有 Xilinx 公司的 ISE(目前已停止更新),VIVADO;因特尔公司的 Quartus II;ASIC 开发环境有 Synopsys 公司的 VCS ;很多人也在用 Icarus…