STM32HAL庫-02-IWDG獨立看門狗

實驗步驟:
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);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章