实验步骤:
1、取消写保护和设置预分频系数以及重装载值
2、启动看门狗(向 向 IWDG_KR 写入 0XCCCC)
3、重载计数值喂狗(向 IWDG_KR 写入 0XAAAA )
看门狗电路在达到预置的时间周期时,会产生一个 MCU 复位
即:如果不及时喂狗(重载计数值)会导致stm32复位
IWDG 有自己独立的 32Khz 时钟,独立看门狗的时钟是一个内部RC时钟,所以并不是准确的32Khz,
1、取消写保护和设置预分频系数以及重装载值在 HAL 库中是通过函数 HAL_IWDG_Init 实现的
IWDG_HandleTypeDef IWDG_HandleStruct; //看门狗结构体
IWDG_HandleStruct.Instance = IWDG; // IWDG 地址
IWDG_HandleStruct.Init.Prescaler = IWDG_PRESCALER_32; //选择32分频,大概为1kHz
IWDG_HandleStruct.Init.Reload = 2000; //2000<0xfff=4095,2000*1ms=2s
HAL_IWDG_Init(&IWDG_HandleStruct);
2、启动看门狗(向 向 IWDG_KR 写入 0XCCCC)
HAL_IWDG_Start(&IWDG_HandleStruct);
3、重载计数值喂狗(向 IWDG_KR 写入 0XAAAA )
HAL_IWDG_Refresh(&IWDG_HandleStruct);
来源:CSDN
作者:weixin_43581427
链接:https://blog.csdn.net/weixin_43581427/article/details/104132610