1. 程式人生 > >STM32CubeMX學習筆記——STM32H743_WKUP

STM32CubeMX學習筆記——STM32H743_WKUP

STM32CubeMX學習筆記——STM32H743_WKUP


可進入stm32h7的三種低功耗模式並通過System Wake-Up 0喚醒

採用STM32CubeMX 5.0.0 版本
5.0.0版本與4.27.0版本UI介面變化很大
新版本向下相容其他版本

Github

https://github.com/HaHaHaHaHaGe/Planof2019_half/tree/master/Course_Project/STM32H7/Class07_WAKEUP_LOWPOWER

STM32CubeMX配置

STM32CubeMX版本:5.0.0
配置流程:
Pinout & Configuration介面選擇並開啟RCC時鐘,配置wkup引腳
Clock Configuration配置時鐘樹
生成工程

Pinout配置

在這裡插入圖片描述
選擇PH2作為key進入低功耗模式,PB0作為led燈顯示微控制器執行狀態

SYS

在這裡插入圖片描述
將PA0作為喚醒引腳

GPIO

在這裡插入圖片描述
配置LED與輸入KEY的模式

NVIC

在這裡插入圖片描述
在這裡插入圖片描述
開啟WKUP的中斷並生成相應程式碼

Clock Configuration配置

在這裡插入圖片描述

程式碼部分

main.c

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
		if(HAL_GPIO_ReadPin(GPIOH,GPIO_PIN_2) == 0)
		{
			HAL_SuspendTick();
			
			HAL_PWR_DisableWakeUpPin(PWR_WAKEUP_PIN1)
; HAL_PWR_EnableWakeUpPin(PWR_WAKEUP_PIN1); //HAL_PWR_EnterSTANDBYMode(); //HAL_PWR_EnterSLEEPMode(PWR_MAINREGULATOR_ON,PWR_SLEEPENTRY_WFI); HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON,PWR_STOPENTRY_WFI); SystemClock_Config();//從停止模式恢復是必須重新配置時鐘,其餘兩種模式不用 HAL_ResumeTick(); } HAL_Delay(100); HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_0); } /* USER CODE END 3 */