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

嵌入式系统---看门狗

        在嵌入式系统中,看门狗定时器(Watchdog Timer,WDT)是一种常用的机制,用于检测和恢复系统在异常情况下的故障。如果系统因为某种原因(如软件死循环)而变得无响应,看门狗定时器可以自动重启系统,从而防止系统长时间处于不可用状态。

        看门狗定时器通常需要定期“喂狗”(即写入特定的值以重置计时器),来防止它触发系统重启。如果系统正常工作,它会在看门狗定时器超时之前喂狗;如果系统出现问题,没有及时喂狗,看门狗定时器就会超时并触发重启。

演示例子如下 :

#include "stm32f4xx_hal.h"void StartWatchdog(void) {// 启用独立看门狗HAL_IWDG_Start(&hiwdg);
}void FeedWatchdog(void) {// 喂狗,重置看门狗的计数器HAL_IWDG_Refresh(&hiwdg);
}int main(void) {// HAL库初始化HAL_Init();// 配置系统时钟SystemClock_Config();// 看门狗初始化配置IWDG_HandleTypeDef hiwdg;hiwdg.Instance = IWDG;hiwdg.Init.Prescaler = IWDG_PRESCALER_4;hiwdg.Init.Reload = 4095;HAL_IWDG_Init(&hiwdg);// 开启看门狗StartWatchdog();while (1) {// 正常工作时,定期喂狗FeedWatchdog();// 执行其他任务}
}void SystemClock_Config(void) {// 系统时钟配置代码,根据具体硬件配置
}void Error_Handler(void) {// 错误处理代码while(1) {}
}

在这个例子中:

1.使用HAL_IWDG_Init()函数初始化看门狗定时器,设置预分频器和重载值。

2.使用HAL_IWDG_Start()函数启动看门狗定时器。

 3.使用HAL_IWDG_Refresh()函数喂狗,重置看门狗的计数器

总结:

        具体问题具体分析,有些场景下可能对看门狗的配置更加复杂,需要根据硬件手册以及库函数文档进行操作配置。

        要“关闭”看门狗定时器,通常意味着停止喂狗,让看门狗定时器超时并触发重启。在某些系统中,可能需要特殊的操作或权限来完全禁用看门狗定时器,这通常不推荐在正常运行的系统中进行,因为它会降低系统的可靠性和稳定性。

 

相关文章:

嵌入式系统---看门狗

在嵌入式系统中,看门狗定时器(Watchdog Timer,WDT)是一种常用的机制,用于检测和恢复系统在异常情况下的故障。如果系统因为某种原因(如软件死循环)而变得无响应,看门狗定时器可以自动…...

从MySQL5.7迁移到8.0时,有哪些重要的参数调整或新参数需要注意?

从 MySQL 5.7 迁移到 MySQL 8.0 时,有一些重要的参数调整和新参数需要注意。MySQL 8.0 引入了许多新功能和改进,同时也对一些现有参数进行了更改或废弃。 1. lower_case_table_names 说明: 控制表名是否区分大小写。重要性: 在迁移过程中,确…...

完整发布/上传uniapp Ios应用到App Store流程

使用uniapp打包,假如使用app store证书打包出来的ipa文件,需要上传到app store上才能上架。假如你还没有app store证书,还没有打包,你可以参考下面这篇文章,先创建打包证书再继续看这篇上架的教程:https://…...

CodeActAgent :Executable Code Actions Elicit Better LLM Agents解读

论文地址 https://arxiv.org/pdf/2402.01030.pdf 项目地址 https://github.com/svjack/CodeActAgent-Gradio/blob/main/README.md 代码智能体的优势 选择代码智能体有以下几个关键原因,它们相较于使用类似JSON的字典输出具有显著优势: 1. 代码的高…...

中小型医院网站开发:Spring Boot入门

2 相关技术简介 2.1 Java技术 Java是一种非常常用的编程语言,在全球编程语言排行版上总是前三。在方兴未艾的计算机技术发展历程中,Java的身影无处不在,并且拥有旺盛的生命力。Java的跨平台能力十分强大,只需一次编译,…...

Java读取PDF后做知识库问答_SpringAI实现

​​​​​​​​​​​​​​ 核心思路: 简单来说,就是把PDF文件读取并向量化,然后放到向量存储里面,再通过大模型,来实现问答。 RAG(检索增强生成)介绍: 检索增强生成&#x…...

打开exe程序显示没有适当的访问权限

打开exe程序显示没有适当的访问权限 打开.exe可执行程序,显示Windows 无法访问指定设备、路径或文件。你可能没有适当的权限访问该项目。 解决方法 鼠标选中该文件或文件夹,右键单击选择属性,在弹出的属性选项卡中切换到安全选项卡&#xf…...

Python异步编程:使用`create_task`并发执行协程

Python异步编程:使用create_task并发执行协程 1. 什么是create_task?2. 为什么需要create_task?3. 如何使用create_task?3.1 基本用法3.2 任务的返回值 4. 注意事项5. 总结 在Python的异步编程中,asyncio库为我们提供了…...

从零开始搭建你的DolphinScheduler分布式任务调度平台实战指南

文章目录 前言1. 安装部署DolphinScheduler1.1 启动服务 2. 登录DolphinScheduler界面3. 安装内网穿透工具4. 配置Dolphin Scheduler公网地址5. 固定DolphinScheduler公网地址 前言 本篇教程和大家分享一下DolphinScheduler的安装部署及如何实现公网远程访问,结合内…...

第五课:Python学习之if语句

判断(if)语句 目标 开发中的应用场景if 语句体验if 语句进阶综合应用 01. 开发中的应用场景 生活中的判断几乎是无所不在的,我们每天都在做各种各样的选择,如果这样?如果那样?…… 程序中的判断 # 定义…...

群晖前面加了雷池社区版,安装失败,然后无法识别出用户真实访问IP

有nas的相信对公网都不模式,在现在基础上传带宽能有100兆的时代,有公网代表着家里有一个小服务器,像百度网盘,优酷这种在线服务都能部署为私有化服务。但现在运营商几乎不可能提供公网ip,要么自己买个云服务器做内网穿…...

【秋招笔试】10.13拼多多(已改编)秋招-三语言题解

🍭 大家好这里是 春秋招笔试突围,一起备战大厂笔试 💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 大厂实习经历 ✨ 本系列打算持续跟新 春秋招笔试题 👏 感谢大家的订阅➕ 和 喜欢💗 和 手里的小花花🌸 ✨ 笔试合集传送们 -> 🧷春秋招笔试合集 🍒 本专栏已收集…...

50个JAVA常见代码大全:学完这篇从Java小白到架构师(附带讲解)

基础语法 1. Hello World public class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");} }讲解 这是一个典型的Java程序,它定义了一个名为HelloWorld的类,该类包含一个main方法——Java应用程序的入口点。System.o…...

Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.0 SP1升级到SP3操作方法(x64)

1、首先安装时候选择升级SQLEXPRADV_x64_CHS.exe。 2、接着安装SQLServer2008R2SP1-KB2528583-x64-sp1补丁后10.50.2500.0。 3、接着安装升级SQLEXPRWT_x64_CHS.exe。 4、继续安装SP3:SQLServer2008R2SP3-KB2979597-x64-CHS。 5、最后安装SP3补丁:SQ…...

Centos7安装Git及配置Github

Background Git 是一个开源的分布式版本控制系统,由 Linus Torvalds(Linux 内核的创始人)在 2005 年创建。它被设计用来快速有效地处理从小到大的项目版本管理。Git 目前是全世界最流行的版本控制系统,广泛应用于软件开发中。 1、…...

MobileNet v3(相比于MobileNet v2)

概述: 更新Block(bneck) 使用NAS搜索参数 (Neural Architecture Search) 重新设计耗时层结构 更准确,更高效 以及表中数据展示 更新Block 1.加入SE模块 2.更新了激活函数 首先通过一个1*1的卷积层来进行一个升维处理&#…...

短视频剪辑入门指南:这四大软件值得推荐!

要在众多的短视频作品中脱颖而出并不容易,这就要求制作者不仅要具备良好的创意,还需要掌握一定的剪辑技巧。这里给大家推荐几个好用的短视频剪辑工具! 福昕视频剪辑 直达链接:www.pdf365.cn/foxit-clip/ 操作教程:立…...

网络编程(22)——通过beast库快速实现websocket服务器

目录 二十二、day22 1. websocket简述 2. 基于TCP长连接实现sebsocket a. Connection b. ConnectionMgr c. WebServer d. 编译的小问题 3. 测试 4. 基于http实现的websocket 二十二、day22 因为http受限于请求-响应模式,客户端发起请求,服务器…...

从视频截取每一帧作为图像

查看视频有多少帧 import cv2def count_frames_per_second(video_path):cap cv2.VideoCapture(video_path)if not cap.isOpened():print("Error: Could not open video")return None# Get frames per secondfps cap.get(cv2.CAP_PROP_FPS)# Get total number of f…...

终端 数据表格

// // Created by HongDaYu on 17 十月 2024. //#ifndef HDYSDK_UTIL_H #define HDYSDK_UTIL_H#include <cstdint> #include <string> #include <list> #include <iomanip> #include <memory>class dataGrid { private:std::list<const char*…...

3小时掌握拼多多数据采集:Scrapy框架实战指南

3小时掌握拼多多数据采集&#xff1a;Scrapy框架实战指南 【免费下载链接】scrapy-pinduoduo 拼多多爬虫&#xff0c;抓取拼多多热销商品信息和评论 项目地址: https://gitcode.com/gh_mirrors/sc/scrapy-pinduoduo 对于电商数据分析和市场研究从业者而言&#xff0c;获…...

3步解锁百度网盘SVIP特权:macOS用户必备的高速下载解决方案

3步解锁百度网盘SVIP特权&#xff1a;macOS用户必备的高速下载解决方案 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘Mac客户端的龟速…...

3大跨平台游戏开发库部署方案:从环境搭建到性能优化的全流程指南

3大跨平台游戏开发库部署方案&#xff1a;从环境搭建到性能优化的全流程指南 【免费下载链接】raylib A simple and easy-to-use library to enjoy videogames programming 项目地址: https://gitcode.com/GitHub_Trending/ra/raylib 跨平台游戏开发库raylib凭借其轻量级…...

QueryExcel:解锁3大核心功能的多Excel文件极速查询指南

QueryExcel&#xff1a;解锁3大核心功能的多Excel文件极速查询指南 【免费下载链接】QueryExcel 多Excel文件内容查询工具。 项目地址: https://gitcode.com/gh_mirrors/qu/QueryExcel 直击痛点&#xff1a;数据查询的效率困境 场景一&#xff1a;财务报表核对 月底需从…...

MacBook安装OpenClaw全记录:Phi-3-vision-128k-instruct多模态初体验

MacBook安装OpenClaw全记录&#xff1a;Phi-3-vision-128k-instruct多模态初体验 1. 为什么选择OpenClawPhi-3组合 去年第一次听说OpenClaw时&#xff0c;我就被这个"能直接操作电脑的AI助手"吸引了。作为一个经常需要处理多模态内容的创作者&#xff0c;传统AI工具…...

专业术语统计报告_多种能源发电协同发展管控模型及大数据分析研究

专业术语统计报告_多种能源发电协同发展管控模型及大数据分析研究 一、概要简析 【概要分析】 本文档《多种能源发电协同发展管控模型及大数据分析研究》围绕研究主题展开系统性的探讨。文档总字符数达141569&#xff0c;其中中文字符80856个&#xff0c;英文字词5332个&#x…...

【算法精解】CEC2021竞赛亚军算法-MadDE框架及代码实现(Matlab)

本文核心内容&#xff1a;  MadDE算法主要框架及该算法创新点  Matlab代码实现&#xff08;可免费获取&#xff0c;包括代码及原文献&#xff09; 不少同学改进算法有时缺乏可落地思路&#xff0c;或从文献获得灵感却苦于写不出代码。为此&#xff0c;KAU 推出【算法精解】…...

Instructions版本迁移终极指南:从1.x到2.x的5个关键升级步骤

Instructions版本迁移终极指南&#xff1a;从1.x到2.x的5个关键升级步骤 【免费下载链接】Instructions Create walkthroughs and guided tours (coach marks) in a simple way, with Swift. 项目地址: https://gitcode.com/gh_mirrors/in/Instructions Instructions是一…...

Python自动化脚本:高效爬取Bio-ORACLE海洋环境数据

1. 为什么需要自动化爬取Bio-ORACLE数据 作为一名长期从事海洋生态研究的科研狗&#xff0c;我深知获取高质量环境数据的痛苦。Bio-ORACLE作为全球最权威的海洋环境数据库&#xff0c;每次手动下载数据时都要经历这样的折磨&#xff1a;在官网反复点击下载按钮、等待邮件确认链…...

激光测距技术:从原理到选型的全方位指南

1. 激光测距技术的基本原理 激光测距技术本质上是通过测量激光信号从发射到接收的时间或相位变化来计算距离。想象一下你在山谷里大喊一声&#xff0c;通过听到回声的时间差就能估算出对面山壁的距离&#xff0c;激光测距就是这个原理的"高科技版本"。只不过激光的速…...