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
相关推荐
霍格沃兹测试开发学社测试人社区27 分钟前
软件测试学习笔记丨Flask操作数据库-数据库和表的管理
软件测试·笔记·测试开发·学习·flask
今天我又学废了44 分钟前
Scala学习记录,List
学习
王俊山IT1 小时前
C++学习笔记----10、模块、头文件及各种主题(一)---- 模块(5)
开发语言·c++·笔记·学习
极客小张1 小时前
基于STM32的智能充电桩:集成RTOS、MQTT与SQLite的先进管理系统设计思路
stm32·单片机·嵌入式硬件·mqtt·sqlite·毕业设计·智能充电桩
Mephisto.java2 小时前
【大数据学习 | kafka高级部分】kafka中的选举机制
大数据·学习·kafka
南宫生2 小时前
贪心算法习题其三【力扣】【算法学习day.20】
java·数据结构·学习·算法·leetcode·贪心算法
武子康3 小时前
大数据-212 数据挖掘 机器学习理论 - 无监督学习算法 KMeans 基本原理 簇内误差平方和
大数据·人工智能·学习·算法·机器学习·数据挖掘
使者大牙4 小时前
【大语言模型学习笔记】第一篇:LLM大规模语言模型介绍
笔记·学习·语言模型
As977_4 小时前
前端学习Day12 CSS盒子的定位(相对定位篇“附练习”)
前端·css·学习
ajsbxi4 小时前
苍穹外卖学习记录
java·笔记·后端·学习·nginx·spring·servlet