前言
不必害怕未知,无需恐惧犯错,做一个Creator!
本文主要介绍STM32_HAL库开发中看门狗的使用。
一、开发步骤
1.STM32CubeMX配置
- 在左侧引脚配置处勾选IWDG进行配置
- 在IWDG模式处勾选“Activated”使能IWDG
- 在IWDG参数配置处进行参数配置:IWDG时钟参数和IWDG计数器。
看门狗溢出时间=(分频值×重装值)/ IWDG时钟频率
(图中设置4×4095/32000=0.51s)
2.喂狗函数接口放入程序中
while (1)
{
HAL_Delay(5000);
HAL_IWDG_Refresh(&hiwdg); //在主程序循环中进行喂狗
}
二、主要函数接口
1.HAL库喂狗操作函数
HAL_IWDG_Refresh(IWDG_HandleTypeDef *hiwdg)
进行一次喂狗操作。
参数:IWDG结构体
三、看门狗区别
独立看门狗(IWDG) | 窗口看门狗(WWDG) |
---|---|
专用的低速时钟(LSI)驱动,能够完全独立工作 | APB1时钟分频后得到时钟驱动 |
避免程序跑飞,死循环,对时间精度要求低的场合 | 适合那些要求看门狗在精确计时窗口起作用的程序 |
没有中断,直接复位 | 有中断,可做复位前操作 |
计数值<重装值,喂狗 | 0x40<计数值<窗口值,喂狗 |
总结
本项目中看门狗的使用主要可以归纳为:
1.看门狗相关参数配置(STM32CubeMX中)
2.喂狗操作函数放入程序中
提示:若有错误不足,欢迎批评指正。该系列文章仅供参考,欢迎互相学习交流。
感谢你的阅读,期待你的关注收藏点赞!