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。

相关推荐
czwxkn1 小时前
9STM32(stdl)看门狗
stm32·单片机·嵌入式硬件
coward912 小时前
Linux 内核 KGDB 以及内核驱动单串口调试笔记:telnet + agent-proxy + gdb-multiarch 实践
linux·单片机·嵌入式硬件
刻BITTER2 小时前
VirtualBox 安装Armbian x86 虚拟机
linux·嵌入式硬件
iCxhust2 小时前
微机原理实践教程(汇编篇)---A002流水灯
汇编·单片机·嵌入式硬件·51单片机·微机原理
资深流水灯工程师2 小时前
UART 通讯DMA+IDLE模式笔记
笔记·单片机·嵌入式硬件
LCG元3 小时前
STM32实战:基于STM32F103的SPI通信驱动W25Qxx Flash存储
stm32·单片机·嵌入式硬件
iCxhust3 小时前
【无标题】8086/8088裸机对于学习微机原理的重要意义
汇编·单片机·嵌入式硬件·嵌入式·微机原理
asjodnobfy3 小时前
啥是电压应力
嵌入式硬件·硬件工程
iCxhust4 小时前
led_pattern = (led_pattern << 1) | (led_pattern >> 7)执行顺序
stm32·单片机·嵌入式硬件·51单片机·微机原理