HAL库看门狗配置
HAL库看门狗配置指南(基于STM32)
在STM32开发中,使用HAL库配置看门狗(Watchdog)是提高系统可靠性的重要手段。下面我将详细介绍两种看门狗的配置方法:独立看门狗(IWDG)和窗口看门狗(WWDG)。
1. 独立看门狗(IWDG)配置
独立看门狗基于专用低速时钟(LSI),即使主时钟失效也能工作。
#include "stm32f4xx_hal.h"
IWDG_HandleTypeDef hiwdg;
void MX_IWDG_Init(void)
{
hiwdg.Instance = IWDG; // 使用IWDG外设
hiwdg.Init.Prescaler = IWDG_PRESCALER_64; // 预分频系数
hiwdg.Init.Reload = 0xFFF; // 重装载值 (最大0xFFF)
// 初始化IWDG
if (HAL_IWDG_Init(&hiwdg) != HAL_OK)
{
// 处理初始化错误
Error_Handler();
}
}
// 在主循环中定期调用喂狗
void feed_IWDG(void)
{
HAL_IWDG_Refresh(&hiwdg); // 喂狗操作
}
超时时间计算:
/*
* LSI频率 ≈ 32 kHz
* 超时时间(秒) = (Reload + 1) * Prescaler / LSI频率
* 示例:
* 分频 = IWDG_PRESCALER_64 => Prescaler=64
* Reload = 0xFFF = 4095
* 超时时间 ≈ (4095 + 1) * 64 / 32000 = 8.192秒
*/
2. 窗口看门狗(WWDG)配置
窗口看门狗需要在指定时间窗口内喂狗。
#include "stm32f4xx_hal.h"
WWDG_HandleTypeDef hwwdg;
void MX_WWDG_Init(void)
{
hwwdg.Instance = WWDG; // 使用WWDG外设
hwwdg.Init.Prescaler = WWDG_PRESCALER_8; // 预分频系数
hwwdg.Init.Window = 0x5F; // 窗口值 (0x40-0x7F)
hwwdg.Init.Counter = 0x7F; // 计数器初始值 (0x40-0x7F)
hwwdg.Init.EWIMode = WWDG_EWI_ENABLE; // 启用提前唤醒中断
// 初始化WWDG
if (HAL_WWDG_Init(&hwwdg) != HAL_OK)
{
// 处理初始化错误
Error_Handler();
}
// 设置NVIC中断优先级
HAL_NVIC_SetPriority(WWDG_IRQn, 0, 0);
HAL_NVIC_EnableIRQ(WWDG_IRQn);
}
// WWDG中断处理函数
void WWDG_IRQHandler(void)
{
HAL_WWDG_IRQHandler(&hwwdg);
}
// 提前唤醒回调函数(在此处喂狗)
void HAL_WWDG_EarlyWakeupCallback(WWDG_HandleTypeDef *hwwdg)
{
HAL_WWDG_Refresh(hwwdg); // 喂狗操作
}
超时时间计算:
/*
* PCLK1频率假设为45 MHz
* WWDG时钟 = PCLK1 / 4096
* WWDG计数器周期 = 1 / (WWDG时钟 / 预分频)
* 超时时间(秒) = (Counter - 0x40) * WWDG计数器周期
* 示例:
* Prescaler = WWDG_PRESCALER_8 => 8分频
* Counter = 0x7F = 127
* WWDG时钟周期 = 1 / (45e6 / 4096 / 8) ≈ 0.728 ms
* 超时时间 ≈ (127 - 0x40=64) * 0.728ms ≈ 45.8 ms
*/
3. 使用说明
-
初始化位置:
- 在
main()函数中的SystemClock_Config()之后调用看门狗初始化函数 - 在需要喂狗的位置调用
HAL_IWDG_Refresh()或HAL_WWDG_Refresh()
- 在
-
重装载值设置:
- IWDG:取值0x000-0xFFF(12位)
- WWDG:取值0x40-0x7F(7位)
-
喂狗策略:
- IWDG:在超时前任何时间都可以喂狗
- WWDG:必须在计数器值小于窗口值且大于0x3F时喂狗(避免过早或过晚喂狗)
-
中断使用:
- 窗口看门狗建议使用提前唤醒中断(WWDG_EWI)进行喂狗
- 在中断回调函数中执行喂狗操作
4. 重要注意事项
- 看门狗一旦启用,只能通过复位系统禁用
- 在调试期间可以暂时禁用看门狗
- 低功耗模式下需考虑看门狗的行为(部分STM32支持冻结看门狗)
- 窗口看门狗的预分频系数可能有限制(如某些型号仅支持1/2/4/8分频)
- 避免在中断中调用喂狗函数,除非是专门的中断回调
5. 调试技巧
- 在调试时可以通过修改分频或重装载值缩短超时时间
- 在超时处理中添加调试信息输出
- 可以使用调试器查看看门狗状态寄存器
- 在进入低功耗前确保看门狗已冻结或能继续运行
这些配置适用于大多数STM32系列(F0/F1/F3/F4/F7等),具体使用时请参考对应芯片的参考手册确认寄存器的具体细节。
什么是看门狗,工业路由器看门狗技术的功能优势
工业路由器大多都会配备看门狗技术,它是保证工业路由器传输过程中连续24小时不宕机的重要保护技术,那么,什么是看门狗呢?▍看门狗功能
2023-03-27 10:16:19
STM32中的独立看门狗和窗口看门狗是什么
在早期的MCU中是没有看门狗这种东西的,所以产品就很容易出现死机,跑飞的情况。为了避免这种情况的出现,后期的MCU都集成了看门狗的功能。但是目前看门狗
2023-02-20 17:47:07
STM32L051使用HAL库操作实例(6)-(IWDG)独立看门狗实验
一、看门狗介绍STM32的看门狗分为独立看门狗和窗口看门狗两种,两者的使
资料下载
刘艳
2021-12-09 16:51:18
STM32CubeMX配置ADC模拟看门狗实现掉电保存——基于(STM32G070+STM32CubeMX+HAL库+ADC模拟看门狗)
实验目的:通过STM32CubeMX进行简单配置生成HAL库实现ADC模拟看门狗
资料下载
佚名
2021-12-03 09:36:09
STM32L4单片机配置STOP模式下停止看门狗计数
读写芯片内部的OptionBytes,STM32L4的HAL库提供了操作选项字节的方法。以下代码配置了两个功能:(1)、
资料下载
佚名
2021-11-19 10:51:04
对于MCU看门狗IIWDG WWDG喂狗时间的配置参考
对于MCU看门狗IIWDG WWDG喂狗时间的配置参考可以参考MCU的datasheet;在每个MCU的datasheet中都有这样的表格:6.3.25 Timer
资料下载
李明
2021-10-28 12:06:02
STM32中的独立看门狗和窗口看门狗
在早期的MCU中是没有看门狗这种东西的,所以产品就很容易出现死机,跑飞的情况。为了避免这种情况的出现,后期的MCU都集成了看门狗的功能。但是目前看门狗
2023-01-30 14:38:17
STM32中的独立看门狗和窗口看门狗
一、前言 在早期的MCU中是没有看门狗这种东西的,所以产品就很容易出现死机,跑飞的情况。为了避免这种情况的出现,后期的MCU都集成了看门狗的功能。但是目前看门
2022-12-22 16:58:20
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 芯片的工作原理是什么?
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- 什么是蓝牙?它的主要作用是什么?
- ssd是什么意思
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- dtmb信号覆盖城市查询
- EDA是什么?有什么作用?
- 中科院研发成功2nm光刻机
- 苹果手机哪几个支持无线充电的?
- type-c四根线接法图解
- 华为芯片为什么受制于美国?
- 怎样挑选路由器?
- 元宇宙概念股龙头一览
- 锂电池和铅酸电池哪个好?
- 什么是场效应管?它的作用是什么?
- 如何进行编码器的正确接线?接线方法介绍
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- 苹果nfc功能怎么复制门禁卡
- amoled屏幕和oled区别
- 单片机和嵌入式的区别是什么
- 复位电路的原理及作用
- BLDC电机技术分析
- dsp是什么意思?有什么作用?
- 苹果无线充电器怎么使用?
- iphone13promax电池容量是多少毫安
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 传感器常见类型有哪些?
- 自举电路图
- 通讯隔离作用
- 苹果笔记本macbookpro18款与19款区别
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机