STM32F4X 窗口看门狗 WWDG

STM32F4X 窗口看门狗 WWDG

  • STM32F4X窗口看门狗使用
    • 独立看门狗与窗口看门狗区别
    • 窗口看门狗复位条件
    • 窗口看门狗时钟
    • 窗口看门狗时钟计数频率
    • 窗口看门狗的窗口值
    • 窗口看门狗喂狗操作
    • 窗口看门狗例程

上一节简单讲了STM32F4X中的独立看门狗的使用,除了独立看门狗之外,STM32F4X还有一个叫窗口看门狗的外设。

STM32F4X窗口看门狗使用

独立看门狗与窗口看门狗区别

独立看门狗窗口看门狗
时钟源LSI低速时钟APB时钟
喂狗条件在复位前的任意时刻喂狗需要在窗口值喂狗

独立看门狗与窗口看门狗的的区别就在与时钟源和复位条件的不同。

窗口看门狗复位条件

窗口看门狗有两种复位条件

  1. 当CR寄存器里面的bit6~bit0减到0x3F时,产生一个复位信号
  2. 当在窗口值之外重装载递减计数器时,产生复位信号。

窗口看门狗时钟

窗口看门狗的时钟源是系统的APB1时钟,因此窗口看门狗的的计数时间比独立看门狗的更加准确。在窗口看门狗的CFR寄存器中的bit7~bit8可以对APB1时钟源进行分频
在这里插入图片描述
在这里插入图片描述
窗口看门狗的分频器支持1/2/4/8分频。

窗口看门狗时钟计数频率

窗口看门狗的计数频率计算跟普通定时器的计算是一样的,假设APB1时钟为42MHZ,分频器设置为0,由于窗口看门狗的计数器为7位,理论上可以计128个数,但是由于计数器减到0x3F时就复位,所以计数器最多只能计64个数,假设计数器计数为64。窗口看门狗的溢出时间如下
TCLK = 42MHZ
PSC = 0
COUNT = 64
Tout = (1 / (TCLK / (4096 * 2 ^ PSC) ) ) * COUNT
Tout得到的就是6.24ms

窗口看门狗的窗口值

窗口看门狗的窗口值是在CFR寄存器的bit0~bit6设置。
在这里插入图片描述
最大的窗口值为0x7F,窗口值的作用是限制喂狗的时间,用户不能再窗口值之外进行喂狗,否则系统会复位。假设窗口值设置为0x5F,那么窗口值的上限为0x5F,窗口值下限为0x3F,在0x3F~0x5F这个时间段外不能进行喂狗操作,否则系统会复位。
在这里插入图片描述

窗口看门狗喂狗操作

用户可以将CFR寄存器的bit9设置为1,使能窗口看门狗中断,当计数器计数到0x40的时候会产生一个中断,然后在中断里面进行喂狗操作。

窗口看门狗例程

#include "iwdt.h"static uint8_t count = 0x7F;
void bsp_wwdg_init(uint32_t psc,uint8_t tr,uint8_t wr)
{NVIC_InitTypeDef NVIC_InitStruct;count = count & tr;RCC_APB1PeriphClockCmd(RCC_APB1Periph_WWDG,ENABLE); // 使能窗口看门狗时钟WWDG_SetPrescaler(psc); // 设置预分配系数 WWDG_SetWindowValue(wr); // 设置窗口值WWDG_Enable(count); // 使能窗口看门狗NVIC_InitStruct.NVIC_IRQChannel = WWDG_IRQn; // WWDG 中断编号NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority = 2; // 抢占优先级为2NVIC_InitStruct.NVIC_IRQChannelSubPriority =  2; // 响应优先级为2NVIC_InitStruct.NVIC_IRQChannelCmd = ENABLE; // 使能中断NVIC_Init(&NVIC_InitStruct); // 初始化中断WWDG_ClearFlag();//清除提前唤醒中断标志位WWDG_EnableIT();// 使能中断}void WWDG_IRQHandler(void)
{static int cnt = 0;if(cnt++ <= 100) // 喂狗100次后停止喂狗{WWDG_SetCounter(count); //重设窗口看门狗值WWDG_ClearFlag();//清除提前唤醒中断标志位GPIO_ToggleBits(LED_GREEN_GPIO,LED_GREEN_GPIO_PIN); // 翻转绿色LED}}int main(void)
{NVIC_PriorityGroupConfig(2);system_tick_init();bsp_usart_init(115200);bsp_led_init(); // 初始化LEDGPIO_ResetBits(LED_RED_GPIO,LED_RED_GPIO_PIN); // 打开红色LEDdelay_ms(2000); // 延时2s// 使能窗口看门狗// 分频器为8// 计数器值为0x7F// 窗口值为0x5Fbsp_wwdg_init(WWDG_Prescaler_8,0x7F,0x5F); while(1){GPIO_SetBits(LED_RED_GPIO,LED_RED_GPIO_PIN); // 关闭红色LED}}

在这里插入图片描述

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

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

相关文章

Java 中数据结构HashMap的用法

Java HashMap HashMap 是一个散列表&#xff0c;它存储的内容是键值对(key-value)映射。 HashMap 实现了 Map 接口&#xff0c;根据键的 HashCode 值存储数据&#xff0c;具有很快的访问速度&#xff0c;最多允许一条记录的键为 null&#xff0c;不支持线程同步。 HashMap 是…

我与GPT的一次关于Orb-SLAM3源码(包括2)的深入对话

目录 一、前言二、关于Orb-SLAM3的代码结构三、关于system3.1 关于摄像头初始化3.2 关于摄像头模型化3.2关于初始化 四、关于ORBVocabulary五、关于优化六、小结 一、前言 Orb-SLAM2或者3是一个开源的视觉SLAM框架&#xff0c;里面的一些思想&#xff0c;一些软件工程的设计理…

ssm会议管理系统源码和论文

ssm会议管理系统源码和论文087 开发工具&#xff1a;idea 数据库mysql5.7 数据库链接工具&#xff1a;navcat,小海豚等 技术&#xff1a;ssm 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&…

[C/C++]天天酷跑游戏超详细教程-上篇

个人主页&#xff1a;北海 &#x1f390;CSDN新晋作者 &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏✨收录专栏&#xff1a;C/C&#x1f91d;希望作者的文章能对你有所帮助&#xff0c;有不足的地方请在评论区留言指正&#xff0c;大家一起学习交流&#xff01;&#x1f9…

Stable Diffusion Web UI的原理与使用

Stable Diffusion是一套基于Diffusion扩散模型生成技术的图片生成方案&#xff0c;随着技术的不断发展以及工业界对这套工程细节的不断优化&#xff0c;使其终于能在个人电脑上运行&#xff0c;本文将从github下载开始讲一讲如何使用Stable Diffusion Web UI进行AI图像的生成。…

摄像头的调用和视频识别

CV_tutorial3 摄像头调用实时播放保存视频 运动目标识别帧差法背景减除法 摄像头调用 创建视频捕捉对象&#xff1a;cv2.VideoCapture() 参数为视频设备的索引号&#xff0c;就一个摄像投的话写0默认&#xff1b; 或者是指定要读取视频的路径。 实时播放 import cv2 import …

华硕笔记本摄像头倒置怎么办?华硕笔记本摄像头上下颠倒怎么调整

笔记本电脑相较于台式电脑&#xff0c;更易携带&#xff0c;解决了很大一部分人的使用需求。但是笔记本电脑也存在很多不足&#xff0c;比如华硕笔记本电脑就经常会出现摄像头倒置的错误&#xff0c;出现这种问题要如何修复呢&#xff1f;下面就来看看详细的调整方法。 华硕笔记…

十二、集合(2)

本章概要 添加元素组集合的打印列表 List 添加元素组 在 java.util 包中的 Arrays 和 Collections 类中都有很多实用的方法&#xff0c;可以在一个 Collection 中添加一组元素。 Arrays.asList() 方法接受一个数组或是逗号分隔的元素列表&#xff08;使用可变参数&#xff…

【STM32】学习笔记-江科大

【STM32】学习笔记-江科大 1、STM32F103C8T6的GPIO口输出 2、GPIO口输出 GPIO&#xff08;General Purpose Input Output&#xff09;通用输入输出口可配置为8种输入输出模式引脚电平&#xff1a;0V~3.3V&#xff0c;部分引脚可容忍5V输出模式下可控制端口输出高低电平&#…

【GPT,Flask】用Python Flask结合OpenAI的GPT API构建一个可自主搭建的内容生成应用网站

【背景】 自己构建模型并进行训练需要很高的知识,技能和资源门槛。如今,通过OpenAI提供的API,则可以快速通过GPT能力构建可以提供内容生成服务的在线网站。这套框架可以提供给用户,用户可以利用该框架在自己的环境(比如自己的公司内)构建内容生成服务。你也可以自己上线…

以“迅”防“汛”!5G视频快线筑牢防汛“安全堤”

近期&#xff0c;西安多地突发山洪泥石流灾害。防洪救灾刻不容缓&#xff0c;为进一步做好防汛工作&#xff0c;加强防洪调度监管&#xff0c;切实保障群众的生命财产安全&#xff0c;当地政府管理部门亟需拓展智能化技术&#xff0c;通过人防技防双保障提升防灾救灾应急处置能…

Python基础小讲堂之条件分支与循环

万丈高楼平地起&#xff0c;今天给大家讲讲python中的&#xff1a;条件分支与循环。在学条件分支与循环之前&#xff0c;先掌握一下python的基本操作符。算术操作符&#xff1a; - * / % ** //对于算数操作符的前四个加减乘除&#xff0c;大家都懂&#xff0c;在py…

趣解建造者模式之网红小王购车记

一、前言 本文章是关于设计模式中的建造者模式的&#xff0c;也称构建者模式/生成器模式&#xff0c;英文我们称之为Builder Pattern。在开展讲解之前&#xff0c;我们先把该模式的定义了解一下。 建造者模式的定义&#xff1a; 该模式可以实现产品的封装构造过程&#xff0c…

浅谈视频汇聚平台EasyCVR中AI中台的应用功能

AI中台是将人工智能技术如深度学习、计算机视觉、知识图谱、自然语言理解等模块化&#xff0c;集约硬件的计算能力、算法的训练能力、模型的部署能力、基础业务的展现能力等人工智能能力&#xff0c;结合中台的数据资源&#xff0c;封装成整体中台系统。 在EasyCVR视频共享融合…

【AI】数学基础——高数(积分部分)

高数&#xff08;函数&微分部分&#xff09; 文章目录 1.4 微积分1.4.1 基本思想1.4.2 定积分定义定义计算定积分定积分性质定理N-L公式泰勒公式麦克劳林公式 1.5 求极值1.5.1 无条件极值1.5.2 条件极值1.5.3 多条件极值1.5.4 凹函数与凸函数 1.4 微积分 用于求解速度、面积…

vue3+ts+tinynce富文本编辑器+htmlDocx+file-saver 配合实现word下载

vue3 请下载html-docx-js-typescript&#xff0c;否则会报错类型问题 //报告导出word import * as htmlDocx from "html-docx-js-typescript";//ts-ignore import { saveAs } from file-saver// 下载文件&#xff0c; const downloadFile (row)> {try {const co…

得物一面,场景题问得有点多!

题目来源&#xff1a;https://www.nowcoder.com/discuss/525371909735792640 前文 本期是【捞捞面经】系列文章的第 1 期&#xff0c;持续更新中…。 《捞捞面经》系列正式开始连载啦&#xff0c;据说看了这个系列的朋友都拿到了大厂offer~ 欢迎星标订阅&#xff0c;持续更新…

服务器端使用django websocket,客户端使用uniapp 请问服务端和客户端群组互发消息的代码怎么写的参考笔记

2023/8/29 19:21:11 服务器端使用django websocket,客户端使用uniapp 请问服务端和客户端群组互发消息的代码怎么写 2023/8/29 19:22:25 在服务器端使用Django WebSocket和客户端使用Uniapp的情况下&#xff0c;以下是代码示例来实现服务器端和客户端之间的群组互发消息。 …

Redis——》Pipeline

推荐链接&#xff1a; 总结——》【Java】 总结——》【Mysql】 总结——》【Redis】 总结——》【Kafka】 总结——》【Spring】 总结——》【SpringBoot】 总结——》【MyBatis、MyBatis-Plus】 总结——》【Linux】 总结——》【MongoD…

15-mongodb

一、 MongoDB 简介 1 什么是 MongoDB MongoDB 是一个基于分布式文件存储的数据库。由 C语言编写。在为 WEB 应用提供可扩展的高性能数据存储解决方案。 MongoDB 是一个介于关系数据库和非关系数据库之间的产品&#xff0c;是非关系数据库当中功能最丰富&#xff0c;最像关系…