按键低功耗唤醒"/>
STM32CubeMx配置WKUP(PA0)按键低功耗唤醒
任务目标
配置wakeup唤醒低功耗,上电灯亮5秒后关闭,进入低功耗模式;若未进入低功耗则会灯闪烁;当按下wakeup则唤醒MCU。
CubeMx配置
PA0配置wakeup唤醒
配置LED指示灯
别的无需配置。
代码
int main(void)
{/* USER CODE BEGIN 1 *//* USER CODE END 1 *//* MCU Configuration--------------------------------------------------------*//* Reset of all peripherals, Initializes the Flash interface and the Systick. */HAL_Init();/* USER CODE BEGIN Init *//* USER CODE END Init *//* Configure the system clock */SystemClock_Config();/* USER CODE BEGIN SysInit *//* USER CODE END SysInit *//* Initialize all configured peripherals */MX_GPIO_Init();/* USER CODE BEGIN 2 */LED(0);__HAL_RCC_PWR_CLK_ENABLE();//使能PWR时钟if (__HAL_PWR_GET_FLAG(PWR_FLAG_SB) != RESET)//检查并检查系统是否从待机模式恢复{/* Clear Standby flag */__HAL_PWR_CLEAR_FLAG(PWR_FLAG_SB);}HAL_Delay(5000);LED(1);HAL_PWR_DisableWakeUpPin(PWR_WAKEUP_PIN1);//禁用所有使用的唤醒源:PWR_WAKEUP_PIN1 connected to PA.00__HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU);//清除所有相关的唤醒标志HAL_PWR_EnableWakeUpPin(PWR_WAKEUP_PIN1);//启用连接到PA.00的WakeUp PinHAL_PWR_EnterSTANDBYMode();//进入待机模式/* USER CODE END 2 *//* Infinite loop *//* USER CODE BEGIN WHILE */while (1){/* USER CODE END WHILE *//* USER CODE BEGIN 3 */HAL_Delay(500);LED_TURN();}/* USER CODE END 3 */
}
注:待机模式相当于MCU复位重启!
更多推荐
STM32CubeMx配置WKUP(PA0)按键低功耗唤醒
发布评论