第13部分 1.STM32之PWR电源控制-----4个实验

本章主要介绍,低功耗模式,如何让芯片处于最省电的模式?

本章共4个实验

  1. 修改主频
  2. 睡眠模式+串口发送+接收
  3. 停止模式+对射式红外传感器计次
  4. 待机模式+实时时钟

深入研究一下

1.修改主频

2.睡眠模式+串口发送和接收

在串口发送和接收那一节(可查看以前的文章),加入__WFI()函数,程序就会在不工作的情况下,进入睡眠模式,

总结:以上实验还未设计相关的PWR的函数,接下来后面两个实验正式进入PWR的实验!

3.停止模式+对射式红外传感器计次

以下是关于 PWR(电源管理)相关函数的表格,解释了每个函数的功能、作用以及使用方法:

函数 功能作用 使用方法
void PWR_DeInit(void) 该函数用于恢复 PWR(电源管理)外设的默认状态,类似于复位操作。 该函数通常在初始化之前调用,用于确保 PWR 外设处于已知状态。
void PWR_BackupAccessCmd(FunctionalState NewState) 控制是否允许访问备份寄存器(如 RTC 相关寄存器)。可以开启或禁用对备份区域的访问。 NewStateENABLE 时启用备份寄存器访问,DISABLE 时禁用访问。用于在启用备份电源之前或之后控制对备份寄存器的访问权限。
void PWR_PVDCmd(FunctionalState NewState) 启用或禁用 PVD(电源电压检测)功能。PVD 用于监测电源电压的波动,确保系统电压在安全范围内。 NewStateENABLE 时启用 PVD 功能,DISABLE 时禁用 PVD。用于电源电压监控和故障保护。
void PWR_PVDLevelConfig(uint32_t PWR_PVDLevel) 配置 PVD 的电压阈值。PVD 会在电源电压低于设定值时触发中断或事件。 PWR_PVDLevel 为一个 5 位的值,代表不同的电压阈值。用户可以选择一个阈值来设置 PVD 的触发条件。
void PWR_WakeUpPinCmd(FunctionalState NewState) 控制是否启用或禁用唤醒引脚(WakeUp Pin)。唤醒引脚可以在系统进入停机模式(STOP Mode)时用于唤醒系统。 NewStateENABLE 时启用唤醒引脚功能,DISABLE 时禁用该功能。常用于低功耗模式下的唤醒设置。
void PWR_EnterSTOPMode(uint32_t PWR_Regulator, uint8_t PWR_STOPEntry) 将 MCU 置入 STOP 模式,STOP 模式是一种低功耗模式,通常用于节省电量。 PWR_Regulator 可以选择 PWR_Regulator_ONPWR_Regulator_LowPower(选择电压调节器的状态)。PWR_STOPEntry 用于选择唤醒方式:PWR_STOPEntry_WFI(等待中断)或 PWR_STOPEntry_WFE(等待事件)。
void PWR_EnterSTANDBYMode(void) 将 MCU 置入待机模式(Standby Mode)。该模式是最低功耗模式,除非有外部事件或重置,系统会保持在此模式下。 该函数通常在系统进入待机模式前调用,用于极限低功耗状态。
FlagStatus PWR_GetFlagStatus(uint32_t PWR_FLAG) 获取指定电源标志的状态。可以用来检查如唤醒事件、PVD 中断等条件是否被触发。 PWR_FLAG 为需要查询的标志位,如 PWR_FLAG_WU(唤醒事件)、PWR_FLAG_PVDO(电压检测故障)。返回值为 SETRESET
void PWR_ClearFlag(uint32_t PWR_FLAG) 清除指定的电源标志。这通常用于清除中断标志,以准备处理新的中断。 PWR_FLAG 为需要清除的标志位,例如清除 PWR_FLAG_WU 来清除唤醒事件标志。

以下是关于 PWR(电源管理)相关函数的表格,解释了每个函数的功能、作用以及使用方法:

函数 功能作用 使用方法
void PWR_DeInit(void) 该函数用于恢复 PWR(电源管理)外设的默认状态,类似于复位操作。 该函数通常在初始化之前调用,用于确保 PWR 外设处于已知状态。
void PWR_BackupAccessCmd(FunctionalState NewState) 控制是否允许访问备份寄存器(如 RTC 相关寄存器)。可以开启或禁用对备份区域的访问。 NewStateENABLE 时启用备份寄存器访问,DISABLE 时禁用访问。用于在启用备份电源之前或之后控制对备份寄存器的访问权限。
void PWR_PVDCmd(FunctionalState NewState) 启用或禁用 PVD(电源电压检测)功能。PVD 用于监测电源电压的波动,确保系统电压在安全范围内。 NewStateENABLE 时启用 PVD 功能,DISABLE 时禁用 PVD。用于电源电压监控和故障保护。
void PWR_PVDLevelConfig(uint32_t PWR_PVDLevel) 配置 PVD 的电压阈值。PVD 会在电源电压低于设定值时触发中断或事件。 PWR_PVDLevel 为一个 5 位的值,代表不同的电压阈值。用户可以选择一个阈值来设置 PVD 的触发条件。
void PWR_WakeUpPinCmd(FunctionalState NewState) 控制是否启用或禁用唤醒引脚(WakeUp Pin)。唤醒引脚可以在系统进入停机模式(STOP Mode)时用于唤醒系统。 NewStateENABLE 时启用唤醒引脚功能,DISABLE 时禁用该功能。常用于低功耗模式下的唤醒设置。
void PWR_EnterSTOPMode(uint32_t PWR_Regulator, uint8_t PWR_STOPEntry) 将 MCU 置入 STOP 模式,STOP 模式是一种低功耗模式,通常用于节省电量。 PWR_Regulator 可以选择 PWR_Regulator_ONPWR_Regulator_LowPower(选择电压调节器的状态)。PWR_STOPEntry 用于选择唤醒方式:PWR_STOPEntry_WFI(等待中断)或 PWR_STOPEntry_WFE(等待事件)。
void PWR_EnterSTANDBYMode(void) 将 MCU 置入待机模式(Standby Mode)。该模式是最低功耗模式,除非有外部事件或重置,系统会保持在此模式下。 该函数通常在系统进入待机模式前调用,用于极限低功耗状态。
FlagStatus PWR_GetFlagStatus(uint32_t PWR_FLAG) 获取指定电源标志的状态。可以用来检查如唤醒事件、PVD 中断等条件是否被触发。 PWR_FLAG 为需要查询的标志位,如 PWR_FLAG_WU(唤醒事件)、PWR_FLAG_PVDO(电压检测故障)。返回值为 SETRESET
void PWR_ClearFlag(uint32_t PWR_FLAG) 清除指定的电源标志。这通常用于清除中断标志,以准备处理新的中断。 PWR_FLAG 为需要清除的标志位,例如清除 PWR_FLAG_WU 来清除唤醒事件标志。

说明:

  • PVD(电源电压检测):用于检测电源电压是否低于安全阈值,并触发相应的事件或中断。对于低电压保护至关重要。
  • STOP 模式和 STANDBY 模式:两种低功耗模式,STOP 模式允许部分设备继续运行,而 STANDBY 模式则关闭所有设备,直到外部事件发生时才会唤醒。
  • 唤醒引脚:通过外部引脚控制系统从低功耗模式唤醒。
相关推荐
朱嘉鼎9 小时前
状态机的介绍
c语言·单片机
清风6666669 小时前
基于单片机的噪声波形检测与分贝测量仪设计
单片机·嵌入式硬件·毕业设计·课程设计
易享电子10 小时前
基于单片机车窗环境监测控制系统Proteus仿真(含全部资料)
单片机·嵌入式硬件·fpga开发·51单片机·proteus
三佛科技-1341638421210 小时前
LED氛围灯方案开发MCU控制芯片
单片机·嵌入式硬件·智能家居·pcb工艺
小莞尔11 小时前
【51单片机】【protues仿真】基于51单片机主从串行通信系统
c语言·单片机·嵌入式硬件·物联网·51单片机
Hello_Embed11 小时前
STM32 环境监测项目笔记(一):DHT11 温湿度传感器原理与驱动实现
c语言·笔记·stm32·单片机·嵌入式软件
三佛科技-1341638421213 小时前
便携式榨汁机方案开发,榨汁机果汁机MCU控制方案设计
单片机·嵌入式硬件·智能家居·pcb工艺
yongui4783413 小时前
基于TMS320F28027实现光伏MPPT控制
单片机·嵌入式硬件
炸膛坦客15 小时前
Cortex-M3 内核 MCU-STM32F1 开发之路:(一)单片机 MCU 的构成,包括 FLASH 和 SRAM 的区别,以及引脚类型
stm32·单片机·嵌入式硬件
A9better15 小时前
嵌入式开发学习日志39——stm32之I2C总线物理层与常用术语
stm32·单片机·嵌入式硬件·学习