STM32CubeMX学习笔记——STM32L052待机睡眠

mac2024-05-30  38

简介

stm32l系列主打低功耗,这篇主要说一下在stm32cubemx中使用hal库实现STANDBY操作,及外部WKUP 唤醒 注:单纯的进入STANDBY并不能实现最低功耗,还需要关闭许多其他的外设,以及配置IO口,不过目前还没研究到那个地方,以下内容只是简单的 进入、唤醒 操作

配置

配置唤醒引脚

代码

//这个函数是自己写的,可以再需要睡眠的地方调用一下 void enter_standby_mode() { HAL_SuspendTick(); HAL_PWR_DisableWakeUpPin(PWR_WAKEUP_PIN2); //关闭第2个外部唤醒引脚功能 __HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU); //清除标志位(如果不清除会导致第二次无法进入低功耗模式) HAL_PWR_EnableWakeUpPin(PWR_WAKEUP_PIN2); //开启第2个外部唤醒引脚功能 HAL_PWR_EnterSTANDBYMode(); //进入STANDBY模式 //进入STANDBY后cpu不在执行任何代码,并且ram掉电,当外部唤醒后从头开始执行代码,相当于复位效果 }
最新回复(0)