
低功耗模式 本文讨论下STM32低功耗模式,先看如下手册。 ![]() 对比了 STM32F0 和 STM32F1 两者进入低功耗是一样的,低功耗模式有三种:
一般做开发大多都是选择停机模式,因为停机模式功耗较低,而且任一中断或事件都能唤醒。待机模式虽然功耗最低,电流只差10个微安,但是只有特定的事件和引脚可以唤醒,实时性不是很好。 先来看下官方库进入低功耗的方式。
这里我们用到停机模式,有两个参数 。 第一个PWR_Regulator是选择电源是否进入低功耗。
第二个参数PWR_STOPEntry选择唤醒的方式。
停机模式唤醒后自动选择系统内部时钟,看自己的应用是否需要重新配置。如果你的系统时钟是HSI或者HSE是要重新配置,一般都需要重新配置,直接调用系统时钟配置函数。 另外停机模式唤醒后,flash程序是从中断或事件开始执行的。 如何做到停机模式更低功耗 代码
上面代码第一个参数PWR_Regulator_LowPower是配置电源低功耗模式。第二个参数PWR_STOPEntry_WFI用来确定是中断唤醒还是事件唤醒,或者两者都要。 第二步你要把所有引脚IO口释放,全部配置成模拟输入状态,此时IO口几乎0消耗,具体见手册说明。 ![]() 我们只要在进入低功耗之前把IO口配置一下就行了(根据自己应用需要配置IO),但是唤醒之后就要重新配置IO口了。 注意,在配置IO模拟输入之前,一定不要锁定IO口。我之前就踩了这个坑,在配置成模拟输入之前我们串口两个引脚锁定了导致我的功耗一直在90uA左右下不去。 正确配置的功耗在10uA左右,这功耗已经相当低了,用四节5号电池够你用至少1年了。 转载自:STM32嵌入式开发 |
STM32 GUI LTDC 最大像素时钟评估方法
【2025·STM32峰会】GUI解决方案实训分享1-对LVGL咖啡机例程的牛刀小试以及问题排查
OpenBLT移植到STM32F405开发板
为什么要先开启STM32外设时钟?
【STM32MP157】从ST官方例程中分析RPMsg-TTY/SDB核间通信的使用方法
【经验分享】STM32实例-RTC实时时钟实验④-获取RTC时间函数与中断服务函数
STM32 以太网 MAC Loopback 的实现
STM32功能安全设计包,助力产品功能安全认证
基于STM32启动过程startup_xxxx.s文件经验分享
HRTIM 指南