STM32 低功耗专用管脚唤醒 (EWUP)
1. 介绍
STM32具有多种低功耗模式,当前以STM32L4系列的低功耗模式最为丰富,此处基于STM32L476和STM32CUBEIDE环境介绍低功耗专用管脚唤醒的实现(HAL库)。
2. 低功耗模式
STM32L4的低功耗模式,相比其它系列的芯片,多了几种:
3. 低功耗模式
STM32的专用低功耗唤醒管脚,可在待机(STANDBY)及关机(SHUTDOWN)两种低功耗模式用于唤醒。STM32L4有如下可用管脚: 这里采用PC13作为唤醒管脚,首先进行功能配置,同时可以看到专用唤醒管脚的编号是2。这里只涉及进入STANDBY和SHUTDOWN两种低功耗模式和唤醒,和RTC没有关系,RTC这里的设置全部为空。
4. 进入低功耗模式
进入低功耗模式STANDYBY的方式:
HAL_PWR_EnableWakeUpPin(PWR_WAKEUP_PIN2_LOW);
__HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU);
HAL_PWR_EnterSTANDBYMode();
进入低功耗模式SHUTDOWN的方式:
HAL_PWR_EnableWakeUpPin(PWR_WAKEUP_PIN2_LOW);
__HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU);
HAL_PWREx_EnterSHUTDOWNMode();
其中, HAL_PWR_EnableWakeUpPin(uint32_t WakeUpPinPolarity)用于指定特定的专用唤醒管脚及触发边沿,其取值及解释如下: 带_HIGH表示上升沿触发,带_LOW表示下降沿触发。
__HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU)用于清除已有的唤醒触发标识,否则一旦进入低功耗模式可能被立即唤醒。
5. 退出低功耗模式
如果PC13的电平发生下降沿变化,则基于前面的设置,进入低功耗STANDBY或SHUTDOWN模式的MCU会被唤醒。
–End–
|