STM32睡眠模式低功耗(停止模式)

2019-11-13来源: eefocus关键字:STM32  睡眠模式  低功耗  停止模式

目前stm32已经非常流行了,那么本文讨论下stm32低功耗模式,不多说先上手册内容! 

这里写图片描述

这是英文文档 不好看懂是吧,下面看中文文档! 

这里写图片描述

我对比了 STM32F0 和 STM32F1 两者进入低功耗是一样的,STM32F4的类似目前没有研究。 

低功耗模式有三种, 

1.睡眠模式,( CM3 内核停止,外设仍然运行)此功耗是最高的。 

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

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

如果不行那就看手册,上图 

这里写图片描述 

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


我们用停机模式也能降到10几个uA,实时性又好,干嘛不用呢。 

要怎么做才能把停机模式功耗进一步降低呢。我们先看官方库进入低功耗。


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);


第一个参数要配置电源低功耗模式,第二个随你是中断唤醒还是事件唤醒,或者两者都要;


第二步你要把所有引脚IO口释放,全部配置成模拟输入状态,IO口几乎0消耗,如果不信下面我们来看手册 

这里写图片描述
这里写图片描述

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


在这里我要提醒广大朋友,在配置IO模拟输入之前,一定不要锁定IO口,我就犯了这个毛病,在配置成模拟输入之前我们串口两个引脚锁定了导致我的功耗一直在90uA左右下不去,老费劲了,挣了我一天时间才发现,最后功耗在10几uA左右,这功耗已经相当低了,能适应现在电池行业不是很发达的时代了,用四节5号电池够你用至少1年了。

关键字:STM32  睡眠模式  低功耗  停止模式 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic479857.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:STM32低功耗模式---停机和待机模式
下一篇:stm32 低功耗下使用看门狗(不喂狗)

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

74LS164 for stm32 源码
:74LS164.c---------------------------------------------------------------------------------------------------------------------------------------------#include "stm32f10x.h"#include "stm32f10x_rcc.h"#include "stm32f10x_gpio.h"#include "74LS164.h"/* 延时模块82615468 sp-320-12 * */static void delay(u32 t){ u32 i; while(t--) for (i = 0; i < 1; i++);}void Ls164Init(void){ GPIO_InitTypeDef
发表于 2019-12-11
74LS164 for stm32 源码
STM32 SysTick定时器应用【worldsing笔记】
SysTick是CM内核独立的定时器,时钟可以用内核内部的,也可以用芯片厂家(ST)的时钟,参考《Cortex-M3权威指南》的第13章: 另外也可以考《STM32F10xxx Cortex-M3 programming manual.pdf》第4章CM3系统外设,从手册来看,ST应该只提供了内核外部时钟,而外部时钟又分成两种:HCLK/8 和 HCLK,  ST官方提供了库直接可以操作SYSTICK,但不同的版本使用起来有些区别: 在V2.0的版本中对SysTick的操作是使用的stm32f10x_systick.c和stm32f10x_systick.h void
发表于 2019-12-11
STM32 SysTick定时器应用【worldsing笔记】
Keil uCos 2.52 stm32 【worldsing笔记】
;    RevBit(LED_GPIO->ODR, 12)           /*LED 状态反转                              */ 2、stm32 Lib V3.5 
发表于 2019-12-11
stm32_CAN总线知识
一、CAN总线的特点:bxCAN主要特点● 支持CAN协议2.0A和2.0B主动模式● 波特率最高可达1兆位/秒● 支持时间触发通信功能发送● 3个发送邮箱● 发送报文的优先级特性可软件配置● 记录发送SOF时刻的时间戳接收● 3级深度的2个接收FIFO● 可变的过滤器组:─ 在互联型产品中,CAN1和CAN2分享28个过滤器组─ 其它STM32F103xx系列产品中有14个过滤器组● 标识符列表● FIFO溢出处理方式可配置● 记录接收SOF时刻的时间戳时间触发通信模式● 禁止自动重传模式● 16位自由运行定时器● 可在最后2个数据字节发送时间戳管理● 中断可屏蔽● 邮箱占用单独1块地址空间,便于提高软件效率双CAN● CAN1
发表于 2019-12-11
stm32_CAN总线知识
STM8L051F3_03_CLK应用
本文介绍STM8L的CLK相关知识。内容分为以下几部分:CLK简介系统时钟频率切换1、CLK简介STM8L051F3的时钟控制系统设计时非常稳定的,同时也很容易使用,它可以使得MUC在低消耗下获仍然保持优性能。用户可以通过管理分配到CPU&外设的时钟来达到降低功耗。STM8L051F3有一个安全无干扰的时钟切换机制允许用户切换系统时钟源,同时可以通过预分频器来控制系统时钟频率。时钟结构图如下:注:STM8L051F3的Peripheral Clock enable是13 bit,没有LCD外设STM8L051F3的系统时钟源有以下4种:16MHz内部高速(出厂已校准)RC时钟HSI1~16MHz外部高速振荡器时钟
发表于 2019-12-11
STM8L051F3_03_CLK应用
低功耗版STM8L051的一个诡异配置
为了做个低功耗项目,从最便宜的STM8S003切换到低功耗系列里较便宜的STM8L051;在STM8S003上调通了HALT休眠处理后,最低待机电流是67uA;用了STM8L051后,实测能到2uA;但是后来遇到个诡异的问题,TIMER4莫名其妙不动作,好像不计时了。开关中断,改初始化配置,都没用,很奇怪。最后发现,是init'初始化的时候,没有给TIMER4配置CLK时钟源,导致的,原来的代码并没有写TIM4,        CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_4);       
发表于 2019-12-11
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved