STM32F103芯片的獨立看門狗(IWDG)由專用的低速時鍾(LSI)驅動,即使主時鍾發生故障它也仍然有效 。
當計數器達到給定的超時值時,觸發一個中斷(僅適用於窗口型看門狗)或產生系統復位。相關的時鍾配置
如下圖所示:
在設計中,我的分頻選擇 4 分頻,最大接受喂狗時間為300ms,對應的CubeMX設置如下:
在應用中,程序一般需要初始化外部硬件和相關的軟件參數,可以將開門狗初始化函數放到系統初始化函數后面,CubeMx軟件自動生成的看門狗初始化函數是:
MX_IWDG_Init();
在應用中需要不定時的喂狗,喂狗間斷時間應該小於最大喂狗接受時間,喂狗調用函數為:
HAL_IWDG_Refresh(&hiwdg); //hiwdg為看門狗實例化對象