PWR电源控制

PWR简介

  • PWR(Power Control)电源控制

  • PWR负责管理STM32内部的电源供电部分,可以实现可编程电压监测器和低功耗模式的功能

  • 可编程电压监测器(PVD)可以监控VDD电源电压,当VDD下降到PVD阈值以下或上升到PVD阈值之上时,PVD会触发中断,用于执行紧急关闭任务

  • 低功耗模式包括睡眠模式(Sleep)、停机模式(Stop)和待机模式(Standby),可在系统空闲时,降低STM32的功耗,延长设备使用时间

电源框图

f1dc185a-3b22-4408-a5ea-bbf367b8636b

上电复位和掉电复位

bb2a93fe-4bec-4e8e-a83d-51403f85092c

可编程电压检测器

1801e62e-2459-4769-adb5-e08e771345c1

低功耗模式

f31a24f5-ecaa-4f41-9afc-f400bb659a6c

模式选择

6599782b-86f2-4ca9-baf6-0fb16afd582d

睡眠模式

  • 执行完WFI/WFE指令后,STM32进入睡眠模式,程序暂停运行,唤醒后程序从暂停的地方继续运行

  • SLEEPONEXIT位决定STM32执行完WFI或WFE后,是立刻进入睡眠,还是等STM32从最低优先级的中断处理程序中退出时进入睡眠

  • 在睡眠模式下,所有的I/O引脚都保持它们在运行模式时的状态

  • WFI指令进入睡眠模式,可被任意一个NVIC响应的中断唤醒

  • WFE指令进入睡眠模式,可被唤醒事件唤醒

停止模式

  • 执行完WFI/WFE指令后,STM32进入停止模式,程序暂停运行,唤醒后程序从暂停的地方继续运行

  • 1.8V供电区域的所有时钟都被停止,PLL、HSI和HSE被禁止,SRAM和寄存器内容被保留下来

  • 在停止模式下,所有的I/O引脚都保持它们在运行模式时的状态

  • 当一个中断或唤醒事件导致退出停止模式时,HSI被选为系统时钟

  • 当电压调节器处于低功耗模式下,系统从停止模式退出时,会有一段额外的启动延时

  • WFI指令进入停止模式,可被任意一个EXTI中断唤醒

  • WFE指令进入停止模式,可被任意一个EXTI事件唤醒

待机模式

  • 执行完WFI/WFE指令后,STM32进入待机模式,唤醒后程序从头开始运行

  • 整个1.8V供电区域被断电,PLL、HSI和HSE也被断电,SRAM和寄存器内容丢失,只有备份的寄存器和待机电路维持供电

  • 在待机模式下,所有的I/O引脚变为高阻态(浮空输入)

  • WKUP引脚的上升沿、RTC闹钟事件的上升沿、NRST引脚上外部复位、IWDG复位退出待机模式

void PWR_DeInit(void);
//恢复缺省配置
void PWR_BackupAccessCmd(FunctionalState NewState);
//使能后备区域的访问
void PWR_PVDCmd(FunctionalState NewState);
//使能PVD
void PWR_PVDLevelConfig(uint32_t PWR_PVDLevel);
//配置PVD的阈值电压
void PWR_WakeUpPinCmd(FunctionalState NewState);
//使能位于PA0位置的WakeUp引脚
void PWR_EnterSTOPMode(uint32_t PWR_Regulator, uint8_t PWR_STOPEntry);
//进入停止模式
void PWR_EnterSTANDBYMode(void);
//进入待机模式
FlagStatus PWR_GetFlagStatus(uint32_t PWR_FLAG);
//获取标志位
void PWR_ClearFlag(uint32_t PWR_FLAG);
//清除标志位
posted @ 2026-01-26 18:32  people121  阅读(0)  评论(0)    收藏  举报