1.IWDG独立看门狗介绍
(1)自由运行的递减计数器;
(2)时钟由独立的RC振荡器提供(可在停止和待机模式下工作),LSI为其时钟源,STOP和SLEEP模式仍可运行;
(3)看门狗被激活后,在计数器计数至0x000的的时产生复位。
2.具体配置
示例 设置 3s 的超时溢出
IWDG counter clock prescaler 预分频器值设为 32
IWDG down-counter reload value 重装载寄存器值设为 3000
如下图所示,IWDG 时钟频率32KHz,32分频得到1K Hz,计数3000,时间为3s
3.代码编写和测试
没有添加喂狗操作,观察打印3秒重启一次,符合我们的独立看门狗3s超时设置。
main.c添加喂狗操作,每隔1s喂狗一次
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
HAL_IWDG_Refresh(&hiwdg);
HAL_Delay(1000);
}