STM32CubeMX学习笔记——STM32H743窗口看门狗WWDG

STM32CubeMX学习笔记——STM32H743窗口看门狗WWDG

  • Github
  • STM32CubeMX配置
    • Pinout配置
    • Clock Configuration配置
    • Configuration
      • GPIO
      • WWDG1
      • NVIC
  • 代码部分
    • main.c
    • stm32h7xx_it.c
  • 未知问题

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配置

STM32CubeMX学习笔记——STM32H743窗口看门狗WWDG_第1张图片
LED输出与KEY输入的PIN配置

Clock Configuration配置

STM32CubeMX学习笔记——STM32H743窗口看门狗WWDG_第2张图片
开启系统时钟

Configuration

STM32CubeMX学习笔记——STM32H743窗口看门狗WWDG_第3张图片
左侧主要系统功能的开启,或中间软件层功能的开启(如:RTOS、JPEG解码器,文件系统等)
右侧是系统及外设模块的具体配置

GPIO

STM32CubeMX学习笔记——STM32H743窗口看门狗WWDG_第4张图片
输入输出配置

WWDG1

STM32CubeMX学习笔记——STM32H743窗口看门狗WWDG_第5张图片
分频:128
窗口:64
初始值:127
开启中断
只能在计数器在64~127之间进行复位,提前清零与超时都会导致rst
STM32CubeMX学习笔记——STM32H743窗口看门狗WWDG_第6张图片

NVIC

STM32CubeMX学习笔记——STM32H743窗口看门狗WWDG_第7张图片
开启并设置优先级
STM32CubeMX学习笔记——STM32H743窗口看门狗WWDG_第8张图片
自动生成中断代码

代码部分

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

你可能感兴趣的:(stm32cubemx,stm32h7,wwdg,看门狗)