STM32基础教程 p16 窗口看门狗(WWDG)

1 窗口看门狗工作原理

1.1 简介

WWDG简介
窗口看门狗通常被用来监测,由外部干扰或不可预见的逻辑条件造成的应用程序背离正常的运
行序列而产生的软件故障。除非递减计数器的值在T6位变成0前被刷新,看门狗电路在达到预置
的时间周期时,会产生一个MCU复位。在递减计数器达到窗口寄存器数值之前,如果7位的递减
计数器数值(在控制寄存器中)被刷新, 那么也将产生一个MCU复位。这表明递减计数器需要在
一个有限的时间窗口中被刷
新;

PC指针跑飞,指针指向未知内存地址,程序死机。
程序正常执行的过程中,代码的执行有时间限制,代码执行超过这个执行时间说明,程序PC指针跑偏,程序执行出现问题;

窗口看门狗规定了程序执行时间的上限和下限;程序执行不再这个时间内说明PC指针指向错误;

因此引出了窗口看门狗的:窗口上限和窗口下限;

喂狗的操作就是当中断计数器的值快到达装载计数器的值时,进行回拉操作;
与门
与门
在这里插入图片描述
或门
在这里插入图片描述
非门

在这里插入图片描述在这里插入图片描述

2 .2 WWDG的寄存器

2.2.1 控制寄存器(WWDG_CR)

在这里插入图片描述

2.2.2 配置寄存器(WWDG_CFR)

在这里插入图片描述

2.2.3 状态寄存器(WWDG_SR)

在这里插入图片描述

2.2.4 WWDG寄存器映像

在这里插入图片描述
在这里插入图片描述

2 WWDG代码实现

正式进入中断之前,先清除中断的标志位;
stm32的所有的中断都归NVIC管理,只要有中断,必然有NVIC;
[NVIC详细解释]
寄存器

NVIC详细解释

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

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

相关文章

定位分析RCU stall问题

使用RCU_CPU_STALL_CPUTIME 在编译内核时打开CONFIG_RCU_CPU_STALL_CPUTIMEy或者在启动参数中增加 rcupdate.rcu_cpu_stall_cputime1, 这样在发生RCU STALL告警时就会有下面附加信息: rcu: hardirqs softirqs csw/systemrcu: number: 624 45 …

联合基于信息论的安全和隐蔽通信的框架

这个标题很帅 abstractintroductionsystem modelPROPOSED JOINT OPTIMIZATION OF ITS AND COVERT TRANSMISSION RATE信息论安全 (ITS)隐蔽通信需要(CC)Joint Information-Theoretic Secrecy and Covert Communication in the Presence of an Untrusted User and Warden 202…

ffmpeg编解码——时间基(time base)概念

文章目录 FFmpeg 编解码——时间基(Time Base)概念1. 时间基(Time Base)概念1.1 定义与作用1.2 表现形式 2. 时间基在FFmpeg中的应用2.1 时间戳2.2 持续时间 3. 理解FFmpeg中的时间基转换3.1 av_rescale_q 函数3.2 av_rescale_q_r…

Shell数组函数:数组——数组和循环(四)

使用数组统计&#xff0c;用户shell的类型和数量 一、脚本编辑 [root192 ~]# vim shell.sh #!/bin/bash declare -A shells while read ii dotypeecho $ii | awk -F: {print $7}let shells[$type] done < /etc/passwdfor i in ${!shells[]} doecho "$i: ${shells[$i]…

多任务学习(Multi-Task Learning)和迁移学习(Transfer Learning)的详细解释以及区别(系列1)

文章目录 前言一、多任务学习&#xff08;Multi-Task Learning&#xff09;是什么&#xff1f;二、多任务学习&#xff08;Multi-Task Learning&#xff09;对数据的要求三、迁移学习是什么&#xff1f;四&#xff0c;迁移学习对数据的要求五&#xff0c;多任务学习与迁移学习的…

DevOps - Spug 自动化运维平台

关于Spug Spug&#xff1a;麻雀&#xff0c;麻雀虽小&#xff0c;五脏俱全。 Spug是面向中小型企业设计的轻量级无Agent的自动化运维平台&#xff0c;整合了主机管理、主机批量执行、主机在线终端、文件在线上传下载、应用发布部署、在线任务计划、配置中心、监控、报警等一系…

利用jdbc对数据库进行增删改查

步骤/过程&#xff1a; 1&#xff0c;导入驱动包 2&#xff0c;加载驱动包 3&#xff0c;输入信息&#xff0c;进行数据库连接 4&#xff0c;创建 statement对象 5&#xff0c;执行sql语句 6&#xff0c;如果是查询操作&#xff0c;利用ResultSet处理数据&#xf…

智能优化算法应用:基于鲸鱼算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于鲸鱼算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于鲸鱼算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.鲸鱼算法4.实验参数设定5.算法结果6.参考文献7.MA…

Python-pdf工具自制(合并、拆分、删除)

pdf工具&#xff0c;之前写的合并工具有点麻烦&#xff0c;使用PyQt5库重写合并拆分和删除指定页面的程序 实现如图&#xff1a; 代码&#xff1a; import sysimport osfrom PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton, QVBoxLayout, QWidget, QFileDia…

java 好码

1【强制】不要在 foreach 循环里进行元素的 remove/add 操作。 remove 元素请使用 Iterator方式&#xff0c;如果并发操作&#xff0c;需要对 Iterator 对象加锁。 正例&#xff1a; List<String> list new ArrayList<>(); list.add("1");list.add(…

unity 2d 入门 飞翔小鸟 Cinemachine 记录分数(十二)

1、创建文本 右键->create->ui->leagcy->text 2、设置字体 3、设置默认值和数字 4、当切换分辨率&#xff0c;分数不见问题 拖拽这里调整 调整到如下图 5、编写得分脚本 using System.Collections; using System.Collections.Generic; using UnityEngine; …

Docker网络架构介绍

本文主要介绍了Docker容器的单机网络架构与集群网络架构&#xff0c;辅以演示&#xff0c;并简单介绍了网络管理中的命令。 前文&#xff1a; Docker的安装与简单操作命令-CSDN博客 docker网络原理介绍 与ovs类似&#xff0c;docker容器采用veth-pair linux bridge (虚拟交…

mysql语句练习

1、查询"01"课程比"02"课程成绩高的学生的信息及课程分数 SELECT student.*,s1.s_score,s2.s_score FROM student,score s1,score s2 WHERE student.s_ids1.s_id AND student.s_ids2.s_id AND s1.c_id01 AND s2.c_id02 AND s1.s_score>s2.s_score 2、…

0007Java程序设计-ssm基于微信小程序的在线考试系统

文章目录 **摘要**目 录系统实现开发环境 编程技术交流、源码分享、模板分享、网课分享 企鹅&#x1f427;裙&#xff1a;776871563 摘要 网络技术的快速发展给各行各业带来了很大的突破&#xff0c;也给各行各业提供了一种新的管理技术&#xff0c;基于微信小程序的在线考试…

Linux下apisix离线安装教程

Linux下apisix离线安装教程 一、首先需要安装etcd&#xff1a;二、通过rpm离线安装apisix三、启动apisix四、安装apisix-dashboard1、安装2、更改dashboard登录账号名和密码3、运行 一、首先需要安装etcd&#xff1a; 解压缩etcd后执行以下命令&#xff1a; tar -xvf etcd-v3.…

C#注册表技术及操作

目录 一、注册表基础 1.Registry和RegistryKey类 &#xff08;1&#xff09;Registry类 &#xff08;2&#xff09;RegistryKey类 二、在C#中操作注册表 1.读取注册表中的信息 &#xff08;1&#xff09;OpenSubKey()方法 &#xff08;2&#xff09;GetSubKeyNames()…

内外联动——记建行江门鹤山支行营业部堵截一起新型骗局

建设银行广东省江门市分行&#xff08;以下简称“江门建行”&#xff09;认真贯彻落实党中央、国务院决策部署&#xff0c;紧紧围绕当地市委工作部署和上级行要求&#xff0c;扛牢国有大行责任&#xff0c;坚守金融工作的政治性、人民性&#xff0c;以深化新金融行动助力江门全…

javascript实现List列表数据结构

书籍推荐 有幸拜读《数据结构与算法Javascript描述》这本书&#xff0c;先强烈安利一波&#xff01;非常感谢作者大大给我们前端领域带来这本书。 全书从javascript的角度出发&#xff0c;简单明了的分析了数据结构在javascript领域的实现过程与实际的应用案例&#xff0c;且…

postgres 登录及常用命令

登陆 输入以下命令&#xff0c;尝试登录psql: psql -U postgres 报告以下错误&#xff1a; psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: FATAL: Peer authentication failed for user "postgres" 换成下面…

Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.

报错&#xff1a; OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized. OMP: Hint This means that multiple copies of the OpenMP runtime have been linked into the program. That is dangerous, since it can degrade performan…