当前位置: 首页 > news >正文

STM32 - 看门狗

  • 独立看门狗 IWDG

专业时钟LSI

低功耗仍可以运行

对定时的控制比较松

喂狗

这些时间是按照40kHz时钟给出。实际上,MCU内部的RC频率会在30kHz到60kHz之间变化。
此外,即使RC振荡器的频率是精确的,确切的时序仍然依赖于APB接口时钟与RC振荡器时钟
之间的相位差,因此总会有一个完整的RC周期是不确定的。

键寄存器(IWDG_KR)

KEY[15:0]: 键值(只写寄存器,读出值为0x0000) (Key value)
软件必须以一定的间隔写入0xAAAA,否则,当计数器为0时,看门狗会产生复位。(将PLR的值重新装载到CNT )
写入0x5555表示允许访问IWDG_PR和IWDG_RLR寄存器。
写入0xCCCC,启动看门狗工作(若选择了硬件看门狗则不受此命令字限制)。
/******************************************************************************* 
Copyright: 2023 
File name: bsp_driver_iwdg.c
Description: 底层iwdg驱动层
Author: zz
Version: v1.0
Date: 20230211
History: 20230211:v1.0:初版 
*******************************************************************************/
#include "bsp_driver_iwdg.h"static IWDG_HandleTypeDef s_hiwdg;/*******************************************************************************
Function: BSP_IWDG_Init
Description: IWDG初始化
Input:  无
Output: 无
Return: 无
*******************************************************************************/
void BSP_IWDG_Init(void)
{s_hiwdg.Instance = IWDG;s_hiwdg.Init.Prescaler = IWDG_PRESCALER_16;s_hiwdg.Init.Reload = 4095;if (HAL_IWDG_Init(&s_hiwdg) != HAL_OK){Error_Handler();}
}/*******************************************************************************
Function: BSP_IWDG_Feed
Description: IWDG喂狗
Input:  无
Output: 无
Return: 无
*******************************************************************************/
void BSP_IWDG_Feed(void)
{HAL_IWDG_Refresh(&s_hiwdg);
}/*******************************************************************************
**                            End Of File
*******************************************************************************/
  • 窗口看门狗 WWDG

总线时钟APB1(受到主时钟影响)

对定时控制比较严

要求主应用程序在规定时间窗口内

如果看门狗被启动(WWDG_CR寄存器中的WDGA位被置’1’), 并且当7位(T[6:0])递减计数器从 0x40(01000000)翻转到0x3F(00111111)(T6位清零)时,则产生一个复位。如果软件在计数器值大于窗口寄存器中的数 值时重新装载计数器,将产生一个复位。

窗口看门狗时序图

配置上窗口的值(最大不能超过0X7F) ->下窗口的值(0X3F)

获取上窗口的值和当前窗口值
uint8_t wr,tr;wr = WWDG ->CFR & 0x7f;
tr = WWDG->CR & 0x7f;
if(wr > tr)
{HAL_WWDG_Refresh(&hwwdg);  //喂狗操作
}

相关文章:

STM32 - 看门狗

独立看门狗 IWDG专业时钟LSI 低功耗仍可以运行对定时的控制比较松喂狗这些时间是按照40kHz时钟给出。实际上,MCU内部的RC频率会在30kHz到60kHz之间变化。此外,即使RC振荡器的频率是精确的,确切的时序仍然依赖于APB接口时钟与RC振荡器时钟之间…...

Redis集群搭建

一、哨兵模式 在 redis3.0之前,redis使用的哨兵架构,它借助 sentinel 工具来监控 master 节点的状态;如果 master 节点异常,则会做主从切换,将一台 slave 作为 master。 哨兵模式的缺点: (1&…...

车载基础软件——AUTOSAR AP典型应用案例

我是穿拖鞋的汉子,魔都中一位坚持长期主义的工程师! 最近不知道为何特别喜欢苏轼的一首词: 缺月挂疏桐,漏断人初静。谁见幽人独往来,缥缈孤鸿影。 惊起却回头,有恨无人省。拣尽寒枝不肯栖,寂寞…...

消息中间件----内存数据库 Redis7(第3章 Redis 命令)

Redis 根据命令所操作对象的不同,可以分为三大类:对 Redis 进行基础性操作的命令,对 Key 的操作命令,对 Value 的操作命令。3.1 Redis 基本命令首先通过 redis-cli 命令进入到 Redis 命令行客户端,然后再运行下面的命令…...

react-03-react-router-dom-路由

react-router-dom:react路由 印记中文:react-router-dom 1、路由原理 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>前端路由的基石_history</title> </head> <body><a hre…...

2自由度悬架LQR控制

目录 1 悬架系统 1.1 悬架结构示意图 1.2 悬架数学模型 1.3 路面激励 2.仿真分析 2.1simulink模型 2.2 仿真结果 2.3 结论 3. 总结 1 悬架系统 1.1 悬架结构示意图 1.2 悬架数学模型 其中&#xff1a;x1为悬架动扰度&#xff0c;x2为车身加速度&#xff0c;x3为轮胎…...

C语言返回类型为指针的一些经典题目(下)

续上一篇文章&#xff0c;上一篇文章题目都很经典&#xff0c;这一篇也不例外。一.返回类型为指针经典题目(下)1.代码(第六题)char *GetMemory3(int num) {char *p (char *)malloc(sizeof(char) * num);return p; } void Test3(void) {char *str NULL;str GetMemory3(100…...

OpenAI 官方api 阅读笔记

网站 API Key concepts Prompts and completions You input some text as a prompt, and the model will generate a text completion that attempts to match whatever context or pattern you gave it. Token  模型通过将文本分解成token来理解和处理, 处理token数量取…...

微服务项目【分布式锁】

创建Redisson模块 第1步&#xff1a;基于Spring Initialzr方式创建zmall-redisson模块 第2步&#xff1a;在zmall-redisson模块中添加相关依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</a…...

JavaWeb5-线程常用属性

目录 1.ID 2.名称 3.状态 4.优先级 5.是否守护线程 5.1.线程类型&#xff1a; ①用户线程&#xff08;main线程默认是用户线程&#xff09; ②守护线程&#xff08;后台/系统线程&#xff09; 5.2.守护线程作用 5.3.守护线程应用 5.4.守护线程使用 ①在用户线程&am…...

JVM调优及垃圾回收GC

一、说一说JVM的内存模型。JVM的运行时内存也叫做JVM堆&#xff0c;从GC的角度可以将JVM分为新生代、老年代和永久代。其中新生代默认占1/3堆内存空间&#xff0c;老年代默认占2/3堆内存空间&#xff0c;永久代占非常少的对内存空间。新生代又分为Eden区、SurvivorFrom区和Surv…...

JAVA练习53-打乱数组

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 前言 一、题目-打乱数组 1.题目描述 2.思路与代码 2.1 思路 2.2 代码 总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 2月17日练习内…...

基于RK3588的嵌入式linux系统开发(三)——Uboot镜像文件合成

本章uboot镜像文件的合成包括官网必备文件rkbin下载和uboot镜像文件合成两部分内容&#xff0c;具体分别如下所述。 &#xff08;一&#xff09;下载rkbin文件包 以上uboot编译生成的uboot镜像不能直接烧录到板卡中运行&#xff0c;需要与atf、bl31、ddr配置文件等必备文件合成…...

wireshark抓包后通过工具分包

分包说明&#xff1a;关于现场问题分析&#xff0c;一般都是通过日志&#xff0c;这个属于程序中加的打印&#xff0c;或存数据库&#xff0c;或者存文本形式&#xff0c;这种一般比较符合程序逻辑&#xff1b;还有一种就是涉及到网络通信方面的&#xff0c;需要通过抓包来分析…...

举个栗子~Tableau 技巧(251):统一多个工作表的坐标轴范围

在工作汇报场景&#xff0c;有一个很常见、很多数据粉反馈的需求&#xff1a;同一看板上的两个图表&#xff0c;因为轴范围不一致&#xff08;如下图&#xff09;&#xff0c;很难直观比较。有什么办法可以统一它们的坐标轴范围呢&#xff1f; 类似需求&#xff0c;不论两个还是…...

Centos7 调整磁盘空间

1. 查看磁盘空间占用情况&#xff1a; df -h 可以看到 /home 有很多剩余空间,占了绝大部分&#xff0c; 而我又很少把文件放在home下。 2. 备份 /home 下的内容&#xff1a; cp -r /home/ /homebak/ 3. 关闭home进程&#xff1a; fuser -m -v -i -k /home 报错: -bash: fuser…...

小菜版考试系统——“C”

各位CSDN的uu们你们好呀&#xff0c;今天&#xff0c;小雅兰的内容是小菜版考试系统&#xff0c;最近一直在忙C语言课程设计的事&#xff0c;那么&#xff0c;就请uu们看看我的学习成果吧。 课程设计任务 摘要 题目分析 流程图 关键程序代码 程序运行结果 结论与心得 参…...

Twitter被封号了?最详细的申诉教程在此

由于Twitter检测系统是十分敏感的&#xff0c;所以在运营的时候很容易莫名就出现“此账号被封禁”或者“此账号被冻结”的情况。出现这种情况大多是因为账号发送了垃圾信息、面临安全风险、发太多广告或者太久没上线被判为机器人这几个原因。被封号后&#xff0c;我们可以通过向…...

Docker 安装配置

本章背景知识 本章主要介绍在 Centos 操作系统平台上进行安装和配置Docker Engine。 环境准备 1、操作系统支持。 CentOS、Debian、Fedora、Raspbian、RHEL、SLES、Ubuntu、Binaries 2、启用yum 软件仓库源。 centos-extras 编者注&#xff1a;Centos 默认已经开启cento…...

死锁检测组件-设想

死锁检测组件-设想 现在有三个临界资源和三把锁绑定了&#xff0c;三把锁又分别被三个线程占用。&#xff08;不用关注临界资源&#xff0c;因为锁和临界资源是绑定的&#xff09; 但现在出现这种情况&#xff1a;线程1去申请获取锁2&#xff0c;线程2申请获取锁3&#xff0c;…...

别再让AI芯片‘睡大觉’了:手把手教你用华为昇腾+CANN搞定异构算力调度

华为昇腾CANN实战&#xff1a;破解AI芯片利用率困局的5个关键策略 推开实验室玻璃门&#xff0c;迎面是十几台Atlas 800服务器闪烁的指示灯&#xff0c;而工程师小王正对着监控大屏上30%的平均利用率皱眉——这场景在采用国产AI芯片的团队中太常见了。当我们谈论异构算力调度时…...

3步搞定黑苹果配置:OpCore-Simplify让EFI构建效率提升80%的智能方案

3步搞定黑苹果配置&#xff1a;OpCore-Simplify让EFI构建效率提升80%的智能方案 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 你是否经历过这些痛苦…...

gemma-3-12b-it实际作品:10张不同领域测试图的图文理解准确率统计表

gemma-3-12b-it实际作品&#xff1a;10张不同领域测试图的图文理解准确率统计表 1. 测试背景与方法 最近我在实际使用gemma-3-12b-it模型时&#xff0c;对其图文理解能力产生了浓厚兴趣。这个由Google推出的多模态模型号称能够同时处理文本和图像输入&#xff0c;并生成准确的…...

避坑指南:为什么你的Jetson开发板apt安装Perf总是失败?

深度解析&#xff1a;Jetson开发板为何无法直接安装Perf及高效解决方案 在嵌入式开发领域&#xff0c;Nvidia Jetson系列凭借其强大的AI计算能力成为边缘计算的热门选择。然而当开发者尝试在这类设备上使用标准Ubuntu方法安装性能分析工具Perf时&#xff0c;往往会遭遇意想不到…...

OpenClaw对话增强:nanobot镜像的聊天历史持久化方案

OpenClaw对话增强&#xff1a;nanobot镜像的聊天历史持久化方案 1. 为什么需要对话持久化 作为一个长期使用OpenClaw进行自动化任务的开发者&#xff0c;我经常遇到这样的困扰&#xff1a;当需要执行一个跨越数小时甚至数天的长周期任务时&#xff0c;传统的短对话模式会导致…...

**发散创新:用Python + ROS2实现多机器人协同路径规划与避障控制**在现代机器人系统中,**

发散创新&#xff1a;用Python ROS2实现多机器人协同路径规划与避障控制 在现代机器人系统中&#xff0c;多机器人协同控制已成为智能仓储、物流配送和工业自动化的核心技术之一。本文将带你深入一个真实可运行的案例——使用 Python 语言结合ROS2&#xff08;Robot Operating…...

你的加密音乐文件,是否真的属于你?

你的加密音乐文件&#xff0c;是否真的属于你&#xff1f; 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库&#xff1a; 1. https://github.com/unlock-music/unlock-music &#xff1b;2. https://git.unlock-music.dev/um/web 项目地址: https://gitc…...

开源项目 Git 贡献全流程拆解:从入门到精通

好的&#xff0c;这是一篇关于开源项目 Git 贡献全流程拆解的技术文章大纲&#xff1a;开源项目 Git 贡献全流程拆解&#xff1a;从入门到精通引言开源精神与协作的重要性。Git 作为分布式版本控制系统在开源世界的核心地位。明确目标&#xff1a;清晰、完整地拆解向开源项目贡…...

Qwen2.5-VL-7B-Instruct镜像免配置教程:开箱即用的视觉语言推理平台

Qwen2.5-VL-7B-Instruct镜像免配置教程&#xff1a;开箱即用的视觉语言推理平台 1. 开篇介绍 你是否遇到过这样的场景&#xff1a;需要快速搭建一个能同时理解图片和文字的AI系统&#xff0c;却被复杂的配置步骤劝退&#xff1f;今天我要介绍的Qwen2.5-VL-7B-Instruct镜像&am…...

LingBot-Depth部署避坑指南:常见问题与解决方案汇总

LingBot-Depth部署避坑指南&#xff1a;常见问题与解决方案汇总 1. 引言&#xff1a;为什么需要这份指南 当你第一次尝试部署LingBot-Depth时&#xff0c;可能会遇到各种意想不到的问题——从模型下载失败到GPU内存不足&#xff0c;从端口冲突到奇怪的输出结果。这些问题往往…...