STM32 低功耗学习

STM32 电源系统结构介绍

电源系统:VDDA供电区域、VDD供电区域、1.8V供电区域、后备供电区域。

器件的工作电压(VDD)2.0~3.6V

  1. 为了提高转换精度,给模拟外设独立供电。
  2. 电压调节器为1.8V供电区域供电,且1.8V供电区域是电源系统中最主要的部分。
  3. 两种供电方式:VBAT和VDD。主要电源被切断,该区域还能工作。

低功耗

降低集成电路的能量消耗。
STM32具有运行、睡眠、停止和待机四种工作模式。

上电后默认是在运行模式,当内核不需要继续运行时,可以选择后面三种低功耗模式。

睡眠模式

  • 优点:对系统影响小。
  • 缺点:节能效果最差。

停止模式

  • 优点:节能效果好,程序不会复位。
  • 缺点:恢复时间较长。

待机模式

  • 优点:节能效果最好。
  • 缺点:程序会复位,少数条件唤醒。

三种模式的功耗

WFI命令和WFE命令

内核指令,使用函数的格式__WFI()和WFE()来调用。

低功耗相关HAL库驱动介绍

低功耗模式的使用步骤

  1. 初始化WKUP为中断触发源
  2. 外设低功耗处理:设置MCU外围外设进入低功耗,可选。
  3. 进入睡眠模式:HAL_PWR_EnterSLEEPMode
  4. 等待WKUP外部中断唤醒。
  1. 初始化WKUP为中断触发源
  2. 外设低功耗处理:设置MCU外围外设进入低功耗,可选。
  3. 进入停止模式:HAL_PWR_EnterSTOPMode
  4. 等待WKUP外部中断唤醒
  5. 重新设置时钟,重新选择滴答时钟源,失能systick中断。


待机模式下,所有I/O引脚处于高阻态,除了复位引脚、被使能的唤醒引脚等;待机模式下,不能下载程序,必须退出待机模式才能下载。

  1. 初始化WKUP为中断触发源
  2. 外设低功耗处理:设置MCU外围外设进入低功耗,可选。
  3. 使能电源时钟:__HAL_RCC_PWR_CLK_ENBALE
  4. 使能WKUP的唤醒功能:HAL_PWR_EnableWakeUpPin
  5. 清除唤醒标记WUF:__HAL_PWR_CLEAR_FLAG
  6. 进入待机模式:HAL_PWR_EnterSTANDBYMode
相关推荐
野老杂谈8 分钟前
【Solidity学习】合约基本结构与状态变量
学习·区块链
承渊政道1 小时前
C++学习之旅【C++类和对象(下)】
c++·学习·visual studio
旖旎夜光8 小时前
多态(11)(下)
c++·学习
Jcenav9 小时前
OCXO外围电路设计指南
单片机·嵌入式硬件
Nautiluss9 小时前
一起玩XVF3800麦克风阵列(八)
大数据·人工智能·嵌入式硬件·github·音频·语音识别
神圣的大喵9 小时前
平台无关的嵌入式通用按键管理器
c语言·单片机·嵌入式硬件·嵌入式·按键库
全栈陈序员9 小时前
【Python】基础语法入门(十七)——文件操作与数据持久化:安全读写本地数据
开发语言·人工智能·python·学习
啄缘之间9 小时前
11. UVM Test [uvm_test]
经验分享·笔记·学习·uvm·总结
RisunJan10 小时前
【行测】类比推理-自称他称全同
学习
石像鬼₧魂石10 小时前
Termux ↔ Windows 靶机 反向连接实操命令清单
linux·windows·学习