独立看门狗的时钟为32k分频
可以配置为32分频,这样就是1khz,方便计算
初始化后,看门狗就启动了,不需要另外手工启动
喂狗
HAL_IWDG_Refresh(&hiwdg);
但,调试的时候,看门狗也会把程序复位,这是不行的,所以
找个地方把这两句放进去就好了
__HAL_DBGMCU_FREEZE_IWDG(); // 在调试单步时,独立看门狗iwdg暂停 The independent watchdog counter clock is stopped when the core is halted __HAL_DBGMCU_FREEZE_WWDG(); //窗口狗也暂停
这样,调试进入断点时不管停留多久,都不会触发看门狗
但在运行时,照样会出发看门狗
可以做一个简单的测试,初始化后,调用这两句
然后写一个延时空跑 时间超过喂狗时间
前边加断点,停留,不复位
运行这个耗时的部分, 系统复位,并且重新进入这个点