8STM32(stdl)低功耗模式

一、PWR简介

PWR负责stm32内部的电源供电,可以检测电压和执行低功耗模式。

低功耗模式:睡眠模式、停机模式、待机模式(standby),可以降低单片机功耗。需要考虑关闭那些硬件,关闭越多越省电。

二、stm32电源框图

Vdda负责模拟电路供电,Vbat负责后备供电,Vdd负责数字部分供电。

​三、三种低功耗模式的工作简介

降低功耗的方式:1.关闭时钟,程序暂停,数据在寄存器中保存不丢失2.关闭电源,数据丢失。

(一)睡眠

WFI进入后,可以由任一个中断唤醒,唤醒后从中断开始执行;WFE进入后,可以由唤醒事件唤醒,唤醒后从睡眠的地方继续执行。

(二)停机

停机模式进入选择的WFI还是WFE和唤醒选取的外部中断有关。

(三)待机

只有少量指定的唤醒条件。

(四)寄存器与电路功能的对应

其他寄存器的配置必须在WFI、WFE之前。

需要再中断函数中实现睡眠功能,需要考虑配置:sp=0,st=1。

(五)整体介绍

1.睡眠模式:执行WFI或者WFE后,STM32进入睡眠模式,程序暂停,唤醒后从暂停的地方运行。SLEEPONEXIT决定是立即睡眠还是处理完中断后再睡眠。唤醒方式:

2.停止模式:执行WFI或者WFE后,STM32进入睡眠模式,程序暂停,唤醒后从暂停的地方运行。SRAM和寄存器供电被保留来储存数据,其他供电禁止。中断唤醒WFI,事件唤醒WFE。

此时IO引脚保持暂停前的运行状态。

唤醒后默认使用HSI(内部高速时钟),需要软件重新设置主频。

如果停止模式开启电压调节器(低功耗模式),唤醒时有一段启动延时。

3.待机模式:执行WFI或者WFE后,STM32进入睡眠模式,程序暂停,唤醒后从头开始运行。只有备份寄存器和待机电路维持供电。

此时IO引脚保持高阻态(浮空输入)。{输出既不高电平也不低电平叫高阻态,输入既不上拉也不下拉称为浮空,二者的配置是相同的。}

四、WPR的使用

对于STM32标准库,并没有集成设置SEVEONPEND、SLEEPDEEP、SLEEPONEXIT的函数,只能通过直接配置寄存器来实现。如果不进行配置,那么这几位就是默认的0。

相关推荐
老k一步步来6 小时前
STM32 HAL库CAN通信核心函数详解,参数以及作用
stm32·单片机·嵌入式硬件
gwf2167 小时前
SSD读写速度深度解析:顺序读写vs随机读写、IOPS、延迟,你的硬盘性能到底怎么看?
git·嵌入式硬件·缓存·github·智能硬件
Freak嵌入式10 小时前
版本混乱 / 依赖缺失?uPyPi:MicroPython 版 PyPI,彻底解决库管理混乱
linux·服务器·数据库·单片机·嵌入式硬件·性能优化·依赖倒置原则
wuyk55511 小时前
77.嵌入式 C 语言中 enum 枚举的工程化实践:告别魔法数字,提升代码可维护性
c语言·开发语言·stm32·单片机·嵌入式硬件
义嘉泰11 小时前
XT25F128F-W Flash芯片全面解析
人工智能·嵌入式硬件·芯片
QH1392923188011 小时前
Keysight N9917B N9918B手持式综合微波分析仪
网络·科技·嵌入式硬件·集成测试·信息与通信
longxingiot11 小时前
轻量化单片机数传终端降低物联网开发门槛
单片机·嵌入式硬件·物联网
亿道电子Emdoor13 小时前
【Arm】MSP和PSP的区别简介
c语言·arm开发·单片机·mcu
国产HT1621B13 小时前
YL1650 LED驱动芯片详解:从原理到实战应用(附51单片机驱动代码)
stm32·单片机·嵌入式硬件·mcu·fpga开发·lcd驱动