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
相关推荐
YJlio1 分钟前
《Sysinternals实战指南》16.5 Ctrl2Cap 工具详解:把 Caps Lock 变成 Ctrl 的键盘改造与回退方法
linux·运维·服务器·网络·python·学习·计算机外设
小慧10241 小时前
手动建立工程模板
stm32·单片机
菜鸟‍1 小时前
【论文学习】Segment Anything 分割一切
深度学习·学习·计算机视觉
嵌入式ZYXC1 小时前
STM32烧录一次后无法再次烧录的两种原因
stm32·单片机·嵌入式硬件
殇淋狱陌2 小时前
Python列表知识思维导图
开发语言·python·学习
fox_lht2 小时前
第十五章 函数式语言:迭代器和闭包
开发语言·后端·学习·算法·rust
2301_775602382 小时前
食品安全法
学习
踏着七彩祥云的小丑3 小时前
嵌入式测试学习第33 天:压力测试、反复开关机、反复插拔接口测试
单片机·嵌入式硬件·学习
fox_lht3 小时前
14.6.将错误重定向到标准错误
开发语言·后端·学习·rust
fanged3 小时前
Linux内核学习17--SPI子系统(TODO)
学习