433|3

236

帖子

0

资源

一粒金砂(高级)

STM32低功耗模式 [复制链接]

低功耗模式

    本文讨论下STM32低功耗模式,先看如下手册。

    对比了 STM32F0 和 STM32F1 两者进入低功耗是一样的,低功耗模式有三种:

·睡眠模式,CM3 内核停止,外设仍然运行,此功耗是最高的

·停止模式,所有时钟都停止,此功耗较低,典型大概在20uA左右 

·待机模式,1.8V 内核电源关闭,此功耗最低,典型大概在2uA左右

    一般做开发大多都是选择停机模式,因为停机模式功耗较低,而且任一中断或事件都能唤醒。待机模式虽然功耗最低,电流只差10个微安,但是只有特定的事件和引脚可以唤醒,实时性不是很好。 

    先来看下官方库进入低功耗的方式。

 

void PWR_EnterSleepMode(uint8_t PWR_SLEEPEntry); //睡眠模式

void PWR_EnterSTOPMode(uint32_t PWR_Regulator, uint8_t PWR_STOPEntry); //停机模式

void PWR_EnterSTANDBYMode(void); //待机模式

这里我们用到停机模式,有两个参数 。
  

  第一个PWR_Regulator是选择电源是否进入低功耗。

 

#define PWR_Regulator_ON //电源不进低功耗 唤醒基本没延迟

#define PWR_Regulator_LowPower //电源进去低功耗 不过唤醒启动有一点延迟

 

第二个参数PWR_STOPEntry选择唤醒的方式。

 

#define PWR_STOPEntry_WFI //中断唤醒

#define PWR_STOPEntry_WFE //事件唤醒

 

    停机模式唤醒后自动选择系统内部时钟,看自己的应用是否需要重新配置。如果你的系统时钟是HSI或者HSE是要重新配置,一般都需要重新配置,直接调用系统时钟配置函数。 
    另外停机模式唤醒后,flash程序是从中断或事件开始执行的。

如何做到停机模式更低功耗

代码

 

RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR,ENABLE); //使能时钟

PWR_EnterSTOPMode(PWR_Regulator_LowPower,PWR_STOPEntry_WFI);

 

    上面代码第一个参数PWR_Regulator_LowPower是配置电源低功耗模式。第二个参数PWR_STOPEntry_WFI用来确定是中断唤醒还是事件唤醒,或者两者都要。

    第二步你要把所有引脚IO口释放,全部配置成模拟输入状态,此时IO口几乎0消耗,具体见手册说明。         

    我们只要在进入低功耗之前把IO口配置一下就行了(根据自己应用需要配置IO),但是唤醒之后就要重新配置IO口了。

    注意,在配置IO模拟输入之前,一定不要锁定IO口。我之前就踩了这个坑,在配置成模拟输入之前我们串口两个引脚锁定了导致我的功耗一直在90uA左右下不去。

    正确配置的功耗在10uA左右,这功耗已经相当低了,用四节5号电池够你用至少1年了。

 

 

丨 整理文章为传播相关技术,版权归原作者所有丨

丨如有侵权,请联系删除丨

此帖出自单片机论坛

赞赏

1

查看全部赞赏

个人签名

嵌入式、汇编语言等免费视频<


回复

6197

帖子

0

资源

五彩晶圆(初级)

STM32价格涨的心堵


回复

1979

帖子

3

资源

版主

其实完全够使,能达到这个功耗相当不错了!


回复

4570

帖子

1

资源

五彩晶圆(初级)

4节5号电池用1年?这也算低功耗?哈哈

个人签名

默认摸鱼


回复
您需要登录后才可以回帖 登录 | 注册

最新文章 更多>>
    关闭
    站长推荐上一条 1/10 下一条

    About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

    站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

    电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2021 EEWORLD.com.cn, Inc. All rights reserved
    快速回复 返回顶部 返回列表