【STM32】G030单片机的独立看门狗

目录

一、简单介绍

二、特性

三、窗口选项

四、cubeMX配置

不使用窗口功能

使用窗口功能

五、工程链接


一、简单介绍

独立看门狗,顾名思义,是不依靠系统而独立存在的看门狗

可以脱离应用运行,但缺陷在于时序精度比窗口看门狗低

主要是为了系统运行安全而设置的,时钟来源是专用的LSI

二、特性

启动看门狗后会从0xFFF开始递减计数,一旦减至零,就会触发复位

在减至零前进行喂狗,就能重新加载IWDG_RLR的值到计数器中

三、窗口选项

如果喂狗的时候,计数器的值比窗口值要大,那么也会触发复位。只有计数器值介于窗口值和0之间时喂狗才能正常运行

32kHz的LSI下,不同的分配系数和计数值对应不同的喂狗时间,详见下表

四、cubeMX配置

不使用窗口功能

笔者使用32分频,4095计数值,则喂狗时间为4095ms

直观起见,把剩余喂狗计数器的值显示在tft屏幕上

sprintf(str, "%d   ", wdgCnt);
ST7735_ShowString(0, 0, str, Font_11x18, GREEN, BLACK);

PA6引脚连接外部按键,当按键按下时触发喂狗动作,重置剩余喂狗计数器值为4095

if (HAL_GPIO_ReadPin(KEY_GPIO_Port, KEY_Pin) == GPIO_PIN_RESET)
{HAL_Delay(10);if (HAL_GPIO_ReadPin(KEY_GPIO_Port, KEY_Pin) == GPIO_PIN_RESET){HAL_IWDG_Refresh(&hiwdg);wdgCnt = hiwdg.Init.Reload;}while (HAL_GPIO_ReadPin(KEY_GPIO_Port, KEY_Pin) == GPIO_PIN_RESET);
}

这种情况下,只要在倒计时结束前单击按键,就可以喂狗,避免触发复位

使用窗口功能

设置窗口值为2000。如果当计数器的值介于2000和4095之间时喂狗,就会触发复位;只有计数器的值介于0和2000之间时喂狗才能正常运行。

实验现象是当计数值为3xxx时按下按键,立即复位

当计数值小于2000但高于0时按下按键,重新装载继续运行

当计数值小于0时立即复位

可见窗口选项为系统提供了较高的时序保障

五、工程链接

STM32G030单片机独立看门狗项目工程文件资源-CSDN下载

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

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

相关文章

VR党建工作站-红色教育基地

近几年在市场爆火的VR党建工作站提升了传统的党建方式,利用VR/AR技术,为广大党员提供沉浸式、多维度的党建学习。佩京利用VR技术搭建的教育场景,可以更加直观地了解党的发展历程,提高学习效果,激发奋斗精神。VR党建工作…

配置 Gitlab 和 Elasticsearch/Zoekt 并使用 Docker Metadata 数据库、Camo 代理服务

配置 Gitlab 和 Elasticsearch/Zoekt 并使用 Docker Metadata 数据库、Camo 代理服务 本文章首发于:连接 Gitlab 和 Elasticsearch/Zoekt 并使用 Docker Metadata 数据库、Camo 代理服务 - Ayaka 的小站 为确保更好阅读格式和阅读体验,更建议前往个人博客…

2025年渗透测试面试题总结-36(题目+回答)

安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 一、计算机网络基础 1. HTTP 状态码(502/503/501) 2. HTTP 请求方式及作用 3. 计…

QT5.15.2 - 安装时如果下载不了停了,需要加速

文章目录QT5.15.2 - 安装时如果下载不了停了,需要加速概述笔记安装的选项可用的国内镜像站点也有很多ENDQT5.15.2 - 安装时如果下载不了停了,需要加速 概述 在 https://download.qt.io/archive/online_installers 中找在线安装包。 用qt-online-instal…

着色器语言

以下是主流的几种着色器语言:1. HLSL (High-Level Shading Language)这是你在Unity中最主要、最应该学习的语言。开发方:微软 (Microsoft)主要应用平台:Unity、DirectX (Windows, Xbox)特点:语法与C语言非常相似,易于学…

VILA运行全程踩坑笔记

VILA运行全程踩坑笔记1. docker的尝试2. 本地部署服务端仓库地址:https://github.com/NVlabs/VILA 全文按照一路踩坑的时间顺序记录,不建议按照步骤一步一步来重复每一个踩坑的悲伤故事,不如先全部看完,再实际上手操作。 省流&am…

Python爬虫: 分布式爬虫架构讲解及实现

了解Python分布式爬虫框架及其实现,能让你在处理大规模数据采集时事半功倍。本文我会结合自己的知识,从核心原理、主流框架、关键技术到实践建议,为你提供一个详细的解读。 🧠 一、分布式爬虫核心原理 分布式爬虫的核心思想是将爬取任务分解,由多个爬虫节点(Worker)协…

君正T31学习(四)- MT7682+VLC出图

一、简介 前几篇文章介绍了如何通过SD卡来播放sensor录制的视频,但是效率很低,所以需要一种效率更高的方法,就是本篇的主角MT7682VLC。 Mt7682在系统中注册为一个以太网卡驱动,接口名为eth0,可以使用Linux通用的socket…

【办公自动化】如何使用Python库高效自动化处理图像?

在日常办公中,我们经常需要处理大量图像,如产品照片、营销素材、文档扫描件等。手动处理这些图像不仅耗时,还容易出错。通过Python自动化图像处理,我们可以高效地完成批量缩放、裁剪、加水印、格式转换等任务,大大提高…

Beats与Elasticsearch高效数据采集指南

Beats 是 Elastic Stack 中的数据采集器,用于从各种来源(日志、指标、网络数据等)轻量级收集数据,而 Elasticsearch 是搜索和分析引擎,负责存储、索引和快速检索数据。二者结合可搭建强大的数据分析管道(如…

前端异常监控,性能监控,埋点,怎么做的

你想做的是一个 前端监控系统(Frontend Monitoring / RUM, Real User Monitoring),主要包括:异常监控(JS 报错、资源加载错误、Promise 未捕获异常)性能监控(白屏时间、首屏时间、页面加载时间、…

Kubernetes一EFK日志架构

前言:​ 在云原生时代,Kubernetes已成为容器编排的事实标准,它赋予了应用极高的弹性、可移植性和密度。然而,这种动态、瞬时的特性也带来了可观测性的新难题:当数以百计的Pod在节点间频繁创建和销毁时,传统…

Linux下的软件编程——网络编程(tcp)

重点:1.UDP和TCP区别2.TCP三次握手和四次挥手3.TCP粘包问题及解决办法4.TCP客户端和服务端的编程流程 TCP:传输层传输控制协议(流式套接字)1)TCP的特点1.面向数据流2.有连接(通信之前必须建立连接…

印度尼西亚数据源 PHP 对接文档

一、环境要求与配置 1. 系统要求 PHP ≥ 7.4扩展&#xff1a;cURL、JSON、OpenSSLComposer&#xff08;推荐&#xff09; 2. 安装依赖 composer require guzzlehttp/guzzle3. 基础配置类 <?php // config/StockTVConfig.php class StockTVConfig {const BASE_URL https://…

Maven核心用法

1.什么是Maven2.Maven的作用&#xff08;依赖管理、项目构建、统一的项目结构&#xff09;2.1 依赖管理2.2 项目构建2.3 统一的项目结构3.Maven的介绍IDEA中对应信息4.Maven的安装注意&#xff1a;需要解压到 没有中文 不带空格 的目录下5.IDEA中的Maven配置然后需要配置JD…

TypeScript:never类型

never类型是TypeScript中最特殊的类型之一&#xff0c;它表示永远不会发生的值。作为专业前端工程师&#xff0c;理解never类型对于编写类型安全的代码至关重要。1. never类型的核心概念定义&#xff1a;never类型表示永远不会出现的值&#xff0c;常见于&#xff1a;抛出错误的…

图数据库neo4j的安装

安装JDK Neo4j是基于Java的图形数据库&#xff0c;运行Neo4j需要启动JVM进程&#xff0c;因此必须安装JAVA SE的JDK。从Oracle官方网站下载 Java SE JDK&#xff0c;我的的版本是JDK8。 安装Neo4j 官网下载最新版本Neo4j 我下的是社区版的 Neo4j应用程序有如下主要的目录结构…

汽车诊断服务(UDS——0x27服务解析)

目录 1、服务概述 2、工作原理 3、常用的应用场景 4、子功能 5、请求与响应格式 5、1服务请求 5、2服务肯定响应 5、3服务否定响应 6、延时机制 1、服务概述 该服务对零部件中部分加密的服务进行解密工作安全访问的概念使用“种子”和“密钥”来实现 参数描述种子4字…

波兰密码破译机bomba:二战密码战的隐形功臣

本文由「大千AI助手」原创发布&#xff0c;专注用真话讲AI&#xff0c;回归技术本质。拒绝神话或妖魔化。搜索「大千AI助手」关注我&#xff0c;一起撕掉过度包装&#xff0c;学习真实的AI技术&#xff01; 从数学原理到机械奇迹&#xff0c;破解enigma的早期利器 ✨ 1. bomba概…

【RAGFlow代码详解-30】构建系统和 CI/CD

Docker 构建系统 RAGFlow 使用主 Dockerfile 1-214 中定义的复杂多阶段 Docker 构建过程&#xff0c;该过程创建应用程序的完整和精简变体。 多阶段构建架构Docker 构建过程 构建过程由 Dockerfile 2-214 中 定义的三个主要阶段组成&#xff1a;基础阶段 &#xff08; Dockerfi…