STM32小白入门(第15天)-------低功耗

发布者:breakthrough3最新更新时间:2019-07-10 来源: eefocus关键字:STM32  低功耗  待机模式 手机看文章 扫描二维码
随时随地手机看文章

一、低功耗模式


1、概述


   


2. 身边应用的例子


A. 电脑


                                  


A. 小米手环


                                 


二、睡眠模式


                               


三、停止模式


 

关于PWR_EnterSTOPMode的参数PWR_MainRegulator_ON与PWR_LowPowerRegulator_ON的区别:


#define PWR_MainRegulator_ON                        ((uint32_t)0x00000000)


#define PWR_LowPowerRegulator_ON                    PWR_CR_LPDS


#define PWR_CR_LPDS                        ((uint32_t)0x00000001)     /*!< Low-Power Deepsleep */


执行PWR_EnterSTOPMode函数并传递PWR_LowPowerRegulator_ON参数表示连为SRAM寄存器供电的调压器也进入低功耗模式,可参考以下PWR_CR寄存器的描述:


 


PWR_MainRegulator_ON表示停止模式下调压器还是在开启状态。


四、待机模式


注意事项,当使用停止模式或待机模式下,如果要使用JLink烧录程序,必须得按一下复位键,然后立即点击下载键才能进行下载,原因在于唤醒的时候需要时间过长,导致超时不能进行正确地下载!


思考题:


在红外接收解码的程序当中,添加LED灯的控制、蜂鸣器的控制,并结合低功耗模式的使用。思考当低功耗模式为睡眠模式和停止模式,这两种有什么区别?区别是什么?


答:在睡眠模式下,红外数据能够正确地接收!在停止模式下,由于重新唤醒CPU,且切换时钟,导致接收红外数据超时,所以红外数据不能够正确地接收!


五、程序设计


1、睡眠模式


唤醒时间短,执行_WFI();  内核停止,外设依然工作


printf("This is sleep testrn");

while(1)

{

printf("cpu run into sleep....rn");

//执行__WFI指令,让CPU进入睡眠模式,立即停止运行指令

__WFI();

//延时500ms

//delay_ms(500);

printf("cpu wake up from sleep...rn");

//延时500ms

//delay_ms(500);

}

2、停止模式

printf("This is stop testrn");

while(1)

{

printf("cpu run into stop....rn");

//添加一个小延时,原因在进入停止模式的时候,串口缓冲区还有部分的数据,但是串口时钟已经开始不准确

delay_us(100);

//让CPU进入停止模式,CPU不仅仅停止运行任何指令,而且所有的时钟都停止

//内部的SRAM与寄存器的内容都会保留、PWR_LowPowerRegulator_ON参数表示连为SRAM、寄存器供电的调压器也进入低功耗模式

PWR_EnterSTOPMode(PWR_LowPowerRegulator_ON, PWR_STOPEntry_WFI);

//退出停止模式之后,M4会自动选择内部的HSI RC振荡器作为时钟源,但是实际上我们之前的代码都是使用到PLL,得重新初始化所有时钟

SystemInit();

printf("cpu wake up from stop...rn");

}

3、待机模式


printf("This is standby testrn");

while(1)

{

printf("cpu run into standby....rn");

//添加一个小延时,原因在进入待机模式的时候,串口缓冲区还有部分的数据,但是串口时钟已经开始不准确

//delay_us(100);

//让CPU进入待机模式,CPU不仅仅停止运行任何指令,而且所有的时钟都停止,1.2V域断电 RAM断电,唤醒效果相当于复位

PWR_EnterSTANDBYMode();   //RTC闹钟事件可唤醒

printf("cpu wake up from standby...rn");

}



关键字:STM32  低功耗  待机模式 引用地址:STM32小白入门(第15天)-------低功耗

上一篇:STM32小白入门(第16天)-------红外
下一篇:STM32小白入门(第14天)-------Flash

推荐阅读最新更新时间:2024-11-09 10:49

意法半导体发布STM32C0系列MCU 让成本敏感的8位应用也能享受32 位性能
意法半导体发布STM32C0系列MCU 让成本敏感的8位应用也能享受32 位性能 STM32系列高性价比入门级产品,现已量产并发货,享受 10 年产品寿命保障 2023年1月31日,中国 ---- 服务多重电子应用领域、全球排名前列的半导体公司意法半导体(STMicroelectronics,简称ST;)推出迄今为止STM32 微控制器 (MCU)产品家族中性价比最高的STM32C0系列产品,为开发者降低STM32入门门槛 。 全球已有数十亿个智能工业、医疗和消费产品采用 STM32 MCU 。STM32现有产品型号达数千种,让产品设计人员总能选到价格适中、功能和性能皆满意的产品。 在保障供货的同时, 意法
[单片机]
意法半导体发布STM32C0系列MCU  让成本敏感的8位应用也能享受32 位性能
多通道远程裂缝位移监测仪设计
中国是地质灾害最为严重的国家之一,滑坡、崩塌、泥石流在汛期频繁发生,造成巨大的人员和经济损失。而对裂缝位移的监测是一种公认的地质灾害监测的手段,通过对地表裂缝位移变化的监测,可以提前探测滑坡等地质灾害的发生,达到预警的目的 。本文介绍了以线性位移传感器、STM32微控制器和无线传输等技术构成的一套具有实时数据采集和处理能力的远程裂缝位移监测仪器。 1 线性位移监测仪总体方案 裂缝位移监测仪采用线性位移传感器感知裂缝的位移变化,把裂缝移动的实际位移量转换为电压信号,原始位移电压信号经滤波、放大等调理电路,送入A/D转换器,转换为数字信号,经STM32微控制器采集、处理后通过LCD显示,并将数据存储在本地U盘中。同时通过无线传输模块将
[单片机]
多通道远程裂缝位移监测仪设计
基于STM32的解魔方机器人设计方案
方案设计 采用舵机作为魔方机器人的驱动电机,从舵机的驱动原理可知:舵机运行的速度和控制器的主频没有关系,所以采用单片机和采用更高主频的嵌入式处理器相比在控制效果上没有什么差别。单片机编程过程简单,非常容易上手,而且不需要进行操作系统的移植,非常适合对魔方机器人的舵机进行控制。 2.复原时间是魔方机器人的一个非常重要,可以说是最为重要的一个参数,本文的软件设计中涉及到了大量的算法,如 Kocemba 复原算法和 KNN 分类算法等,而控制器主频对于算法运行时间的长短起着决定性的作用。 所以在本文的方案设计中,我们把核心算法全部交给 Allwinner A20 运行的 APP。 设计原理 1、Kociemba算法 Kociemba算
[单片机]
基于<font color='red'>STM32</font>的解魔方机器人设计方案
应需而生!兆易创新推出突破性1.2V超低功耗SPI NOR Flash产品系列
应需而生!兆易创新推出突破性1.2V超低功耗SPI NOR Flash产品系列 中国北京(2022年8月19日) — 业界领先的半导体器件供应商兆易创新GigaDevice宣布,推出突破性的 1.2V超低功耗SPI NOR Flash产品——GD25UF系列 。该系列在数据传输速度、供电电压、读写功耗等关键性能指标上均达到国际领先水平,在针对智能可穿戴设备、健康监测、物联网设备或其它单电池供电的应用中,能显著降低运行功耗,有效延长设备的续航时间。 随着物联网技术的发展,新一代智能可穿戴设备需要拥有更丰富的功能来满足消费者的需求,这种空间敏感型产品对系统功耗提出了更严苛的要求,希望进一步提升产品的续航能力。从系统设计层
[嵌入式]
应需而生!兆易创新推出突破性1.2V超<font color='red'>低功耗</font>SPI NOR Flash产品系列
STM32_USB_CDC学习笔记
USB虚拟串口的接收方式: USB 虚拟串口的接收采用中断方式,芯片在接收到数据后回触发中断调用CDC_Receive_FS()函数来处理接收到的数据. USB虚拟串口一次最多接收64个字节的数据,如果收到的数据大于64个字节则会连续多次调用CDC_Receive_FS()函数来处理接收到的数据. 问题: 每次下载完成程序后,必须重新插拔USB线,PC才能识别到串口设备? 解决方法:在每次USB初始化之前,配置USB的两个引脚拉低几个ms,即可让PC重新枚举该USB设备. 函数功能 USB发送 USBD_CDC_SetTxBuffer()和USBD_CDC_TransmitPacket()函数是启动数据发送过程的一
[单片机]
Nordic助力智能插头以蜂窝物联网和低功耗蓝牙提供电器远程能源管理
Nordic助力智能插头以蜂窝物联网和低功耗蓝牙提供电器远程能源管理 MOKO Smart MK117NB智能插头使用 Nordic nRF52833 和 nRF9160进行数据处理和云端中继传输 挪威奥斯陆 – 2022年10月17日 –– 国内企业 MOKO Smart为消费者和能源解决方案提供商开发了一款智能插头,用于智能家居和电能计量应用的能源管理。 “MK117NB智能插头”可用于监控能源使用状况,并通过远程控制负载开关来节省能源。 这款产品带有测量精度为±0.5%的功率电能表,用户可以通过智能手机应用程序来掌握每小时、每天和每月的能耗和累积总能耗。 MK117NB智能插头支持多种插头类型,可在许多
[电源管理]
Nordic助力智能插头以蜂窝物联网和<font color='red'>低功耗</font>蓝牙提供电器远程能源管理
STM32单片机解析说明PVD的使用
前言 有时在一些应用中,我们需要检测系统是否掉电了,或者要在掉电的瞬间需要做一些处理。STM32就有这样的掉电检测机制——PVD(Programmable Voltage Detecter),即可编程电压检测器。通过PVD我们可以设定一个基准电压,当芯片的供电电压高于或低于该基准电压时便产生PVD中断,我们可以在PVD中断里做一些处理。 PVD介绍 本文以STM32F1x为例,来说明PVD的使用。 用户可以利用PVD对VDD电压与电源控制寄存器(PWR_CR)中的PLS 位进行比较来监控电源,这几位选择监控电压的阀值。 通过设置PVDE位来使能PVD。电源控制/状态寄存器(PWR_CSR)中的PVDO标志用来表明VDD
[单片机]
以<font color='red'>STM32</font>单片机解析说明PVD的使用
STM32低功耗Demo
本例展示了如何使用NVIC固件函数库来来展示Cortex-M3低功耗性能(WFE和WFI)。 本例使用了3条外部中断线路,线路3--KEY2,线路4--KEY3和线路13--JOY,在每一个信号下降研做为中断发生源或者事件源(event),其中外部中断线路3和13被设置为中断而线路4被设置成事件。用户需要在main程序开头的5个定义(define)语句中选择定义一个来决定进入那种低功耗模式。 这些选择为: - Wait For Interrupt (WFI) Sleep On Exit:先按JOY,再加任一中断,即可进入SLEEP =》无法唤醒 只有key2可进入中断 选择“#define
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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