STM32CubeMX学习笔记——STM32H743窗口看门狗WWDG
Github
https://github.com/HaHaHaHaHaGe/Planof2019_half/tree/master/Course_Project/STM32H7/Class03_WWDG
STM32CubeMX配置
STM32CubeMX版本:4.27.0
配置流程:
Pinout界面选择并开启需要的LED控制与按键输入引脚
Clock Configuration配置时钟树
Configuration界面配置System
生成工程
Pinout配置
LED输出与KEY输入的PIN配置
Clock Configuration配置
开启系统时钟
Configuration
左侧主要系统功能的开启,或中间软件层功能的开启(如:RTOS、JPEG解码器,文件系统等)
右侧是系统及外设模块的具体配置
GPIO
输入输出配置
WWDG1
分频:128
窗口:64
初始值:127
开启中断
只能在计数器在64~127之间进行复位,提前清零与超时都会导致rst
NVIC
开启并设置优先级
自动生成中断代码
代码部分
main.c
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
if(!HAL_GPIO_ReadPin(GPIOH,GPIO_PIN_2))
HAL_WWDG_Refresh(&hwwdg1);
HAL_Delay(200);
HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_0);
}
/* USER CODE END 3 */
stm32h7xx_it.c
/* USER CODE BEGIN 1 */
void HAL_WWDG_EarlyWakeupCallback(WWDG_HandleTypeDef* hwwdg)
{
HAL_WWDG_Refresh(hwwdg);
}
/* USER CODE END 1 */
若没有及时喂狗将会被rst
未知问题
在窗口之外进行WWDG清零,有时会正确引发RST,但是有时会进入HardFault_Handler