欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 创投人物 > STM32低功耗模式详解:睡眠、停机、待机模式原理与实践(下) | 零基础入门STM32第九十三步

STM32低功耗模式详解:睡眠、停机、待机模式原理与实践(下) | 零基础入门STM32第九十三步

2025/4/9 18:46:26 来源:https://blog.csdn.net/liwangsb2/article/details/147009586  浏览:    关键词:STM32低功耗模式详解:睡眠、停机、待机模式原理与实践(下) | 零基础入门STM32第九十三步
主题内容教学目的/扩展视频
低功耗模式什么是低功耗,模式介绍,切换方法。为电池设备开发做准备。

师从洋桃电子,杜洋老师


📑文章目录

    • 一、低功耗模式基本工作原理
      • 1.1 功耗层级对比
      • 1.2 工作流程
    • 二、睡眠模式实践
      • 2.1 测试程序解析
      • 2.2 程序原理
    • 三、停机模式实践
      • 3.1 测试程序要点
      • 3.2 关键配置
    • 四、待机模式实践
      • 4.1 测试程序实现
      • 4.2 注意事项
    • 五、扩展应用场景
      • 5.1 模式选择建议
      • 5.2 进阶技巧
    • 六、常见问题解答
    • 七、相关资源


(图1:STM32F103低功耗模式架构示意图)

一、低功耗模式基本工作原理

1.1 功耗层级对比

模式唤醒源功耗等级保持状态
睡眠模式中断/事件最低保持内核寄存器
停机模式外部中断/RTC闹钟中等保持SRAM
待机模式复位按键/专用唤醒引脚最高系统复位

1.2 工作流程

执行WFI/WFE指令
SLEEPDEEP=0
SLEEPDEEP=1
PWR_CR位设置
中断/事件
外部中断
复位信号
运行模式
进入低功耗
模式选择
睡眠模式
停机模式
待机模式
唤醒恢复
系统重启

二、睡眠模式实践

2.1 测试程序解析

// main.c关键代码
__WFI(); // 使用WFI指令进入睡眠
// __WFE(); // 使用WFE指令进入睡眠// NVIC配置
NVIC_SystemLPConfig(NVIC_LP_SLEEPDEEP,DISABLE); // 设置为睡眠模式

2.2 程序原理

  • 通过__WFI()触发等待中断
  • 中断服务程序清标志位
  • 唤醒后从WFI下一行继续执行

三、停机模式实践

3.1 测试程序要点

PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI);
// 唤醒后需要重新初始化时钟
RCC_Configuration(); 

3.2 关键配置

MCU PWR NVIC Interrupt RCC 使能时钟(RCC_APB1Periph_PWR) 配置外部中断 进入停机模式 时钟自动关闭 触发唤醒 重新初始化系统时钟 MCU PWR NVIC Interrupt RCC

四、待机模式实践

4.1 测试程序实现

PWR_WakeUpPinCmd(ENABLE); // 使能PA0唤醒功能
PWR_EnterSTANDBYMode();   // 进入待机模式

4.2 注意事项

  1. 唤醒后程序从头开始执行
  2. 需要配置WK_UP引脚为无上拉模式
  3. 保持时间至少1ms的唤醒信号

五、扩展应用场景

5.1 模式选择建议

应用场景推荐模式优势分析
实时数据采集睡眠模式快速唤醒,保留运行状态
周期性传感器监测停机模式低功耗与快速响应平衡
长期待机设备待机模式最低功耗,硬件复位特性

5.2 进阶技巧

  1. 混合模式使用:在不同工作阶段切换模式
  2. RTC唤醒配置:配合日历功能实现定时唤醒
  3. 功耗测量方法:使用uA级电流表串联测量

六、常见问题解答

Q1:唤醒后程序卡死怎么办?

  • 检查时钟初始化
  • 验证中断标志清除
  • 确认堆栈未溢出

Q2:如何测量实际功耗?

  1. 断开调试器
  2. 使用精密万用表电流档
  3. 测量VDD引脚电流

Q3:唤醒源不触发怎么办?

  • 检查GPIO模式配置
  • 验证中断优先级设置
  • 测试信号电平是否符合要求

七、相关资源

[1] 洋桃电子B站课程-STM32入门100步
[2] STM32官方文档手册
[3] STM32F103固件函数库用户手册(中文)
[4] 低功耗模式原理.pptx
[5] 睡眠模式测试程序
[6] 停机模式测试程序
[7] 待机模式测试程序


💬 技术讨论(请在评论区留言~)

📌 下期预告:下一期将探讨看门狗,欢迎持续关注!

点击查阅🔍往期【STM32专栏】文章

版权声明:本文采用[CC BY-NC-SA 4.0]协议,转载请注明来源
实测开发版:洋桃1号开发版(基于STM32F103C8T6)
更新日志

  • v1.0 初始版本(2025-04-05)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词