STM32看門狗的小結
看門狗的作用:在系統層序跑飛的情況下,使系統復位,程序重新執行。
初始化看門狗:包括預分頻數,重裝載值。需要用到這個函數HAL_IWDG_Start(IWDG_HandleTypeDef *hiwdg);
都需要一個句柄:IWDG_HandleTypeDef iwdg_handler;
溢出時間計算:
Tout=((4*2^prer)*rlr)/32
其中PRER是預分頻,rlr是重裝載值。
iwdg_handler.Instance = IWDG; iwdg_handler.Init.Prescaler = IWDG_PRESCALER_64; iwdg_handler.Init.Reload = 500; HAL_IWDG_Init(&iwdg_handler);
在初始化完成之后,可以開啟看門狗:HAL_IWDG_Start(&iwdg_handler);
然后就是執行喂狗操作,避免看門狗復位、
while(1) { if(KEY_Scan(0) == WKUP_PRES) { HAL_IWDG_Refresh(&iwdg_handler); } delay_ms(10); }