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

【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.xdnf.cn/news/1365067.html

相关文章:

  • 不止效率工具:AI 在文化创作中如何重构 “灵感逻辑”?
  • 《拉康精神分析学中的欲望辩证法:能指的拓扑学与主体的解构性重构》
  • 【科研绘图系列】R语言浮游植物生态数据的统计与可视化
  • [系统架构设计师]专业英语(二十二)
  • 系统架构设计师-计算机系统存储管理-页式、段氏、段页式模拟题
  • 探索量子计算的新前沿
  • 【Linux】timerfd和POSIX定时器(timer_create)
  • ASW3642 pin√pin替代TS3DV642方案,可使用原小板只需简单调整外围|ASW3642 HDMI二切一双向切换器方案
  • prepare_model_for_kbit_training()函数解析(56)
  • 解决getLocation获取当前的地理位置,报错:getLocation:fail auth deny及方法封装
  • 抖音多账号运营新范式:巨推AI如何解锁流量矩阵的商业密码
  • Unity中的特殊文件夹
  • Day60 Java面向对象15 abstract关键字详解
  • 物流架构实践:ZKmall开源商城物流接口对接与状态同步
  • 配置单区域 OSPF
  • 基于SpringBoot的招聘管理系统【2026最新】
  • Redis类型之List
  • 【慕伏白】CTFHub 技能树学习笔记 -- Web 之信息泄露
  • vue3+typescript:为表格生成唯一的Key/No
  • 集群与集群概念
  • 如何在 Jenkins 中安装 Master 和 Slave 节点以优化 CI/CD 流程
  • 【数据可视化-98】2025年上半年地方财政收入Top 20城市可视化分析:Python + Pyecharts打造炫酷暗黑主题大屏
  • 【数据可视化-100】使用 Pyecharts 绘制人口迁徙图:步骤与数据组织形式
  • Linux下的软件编程——网络编程(http)
  • 基于git的场景解决
  • DeepSeek 14B模型本地部署与预训练实现方案
  • 从零开始学习单片机15
  • MySQL常见报错分析及解决方案总结(1)---Can‘t connect to MySQL server on ‘localhost‘(10061)
  • 什么是事件循环(Event Loop)?浏览器和 Node.js 中的事件循环有什么区别?
  • 维度建模 —— 雪花模型 和 星型模型的优缺点