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

简介

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

配置

STM32CubeMX学习笔记——STM32L052待机睡眠_第1张图片
配置唤醒引脚

代码

//这个函数是自己写的,可以再需要睡眠的地方调用一下
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掉电,当外部唤醒后从头开始执行代码,相当于复位效果
}

你可能感兴趣的:(有关STM32的一些东西)