STM32 HAL庫之看門狗

1.STM32CubeMX配置
在這裏插入圖片描述
keil5文件輸出如下:
在這裏插入圖片描述
點擊右上角GENERATE CODE
在這裏插入圖片描述
2.代碼解析

IWDG_HandleTypeDef hiwdg;
void MX_IWDG_Init(void)
{
  hiwdg.Instance = IWDG;
  hiwdg.Init.Prescaler = IWDG_PRESCALER_4;//4分頻,頻率爲10KHz
  hiwdg.Init.Window = 4095;//看門狗窗口值,0~4095
  hiwdg.Init.Reload = 4095;//看門狗重置值,0~4095,重置後會自減,減到0時MCU會復位。
  if (HAL_IWDG_Init(&hiwdg) != HAL_OK)
  {
    Error_Handler();
  }
}
//main.c
MX_IWDG_Init(); //初始化獨立看門狗
HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin); //開機/重啓閃2次燈
HAL_Delay(100);
HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin);
HAL_Delay(100);
HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin);
HAL_Delay(100);
HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin);
while (1)
{
	while(HAL_GPIO_ReadPin(KEY_GPIO_Port, KEY_Pin) == 1) //檢測按鍵是否按下
	{
		HAL_Delay(500); //延時500ms,足夠讓看門狗觸發重啓。
	}
	HAL_IWDG_Refresh(&hiwdg); //喂狗:重裝看門狗數據爲4095.
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章