獨立看門狗的時鍾為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(); //窗口狗也暫停
這樣,調試進入斷點時不管停留多久,都不會觸發看門狗
但在運行時,照樣會出發看門狗
可以做一個簡單的測試,初始化后,調用這兩句
然后寫一個延時空跑 時間超過喂狗時間
前邊加斷點,停留,不復位
運行這個耗時的部分, 系統復位,並且重新進入這個點