STM32单片机低功耗配置

一、低功耗模式

当CPU不需继续运行时,可以利用多种低功耗模式来节省功耗,STM32支持三种低功耗模式,可以在要求低功耗、短启动时间和多种唤醒事件之间达到最佳的平衡。

  • 睡眠模式SleepMode。在睡眠模式,只有CPU停止,所有外设处于工作状态并可在发生中断/事件时唤醒CPU

 

  • 停机模式StopMode。保持SRAM和寄存器内容不丢失,达到最低的电能消耗。停止所有内部1.8V部分的供电, PLL、 HSI的RC振荡器和HSE晶体振荡器被关闭,调压器可以被置于普通模式或低功耗模式。可以通过任一EXTI从停机模式中唤醒, EXTI信号可以是16个外部I/O口之一、 PVD的输出、 RTC闹钟或USB的唤醒信号

 

  • 待机模式StandbyMode。最低的电能消耗。内部1.8V部分的供电被切断; PLL、 HSI的RC振荡器和HSE晶体振荡器关闭;SRAM和寄存器的内容将消失,但后备寄存器的内容仍然保留,待机电路仍工作。从待机模式退出的条件是: NRST上的外部复位信号、 IWDG复位、 WKUP引脚上的一个上升边沿或RTC的闹钟到时

 

二、低功耗模式基于HAL库的常用API

2.1睡眠模式SleepMode

  • __HAL_RCC_PWR_CLK_ENABLE();//电源管理使能
  • HAL_PWR_EnterSLEEPMode(PWR_MAINREGULATOR_ON, PWR_SLEEPENTRY_WFI);//进入睡眠模式

2.2停机模式StopMode

  • __HAL_RCC_PWR_CLK_ENABLE();//电源管理使能
  • HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON,PWR_STOPENTRY_WFI);//进入停机模式
  • ReSysClkConfig_STOP(); //停机唤醒后需要重新配置时钟  

2.3 待机模式StandbyMode

  • __HAL_RCC_PWR_CLK_ENABLE();//电源管理使能
  • PWR_Check_Standby();//检查是否是待机模式
  • __HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU);//清除唤醒标志
  • __HAL_PWR_CLEAR_FLAG(PWR_FLAG_SB);//清除待机标志
  • __HAL_PWR_GET_FLAG(PWR_FLAG_SB);//获得待机模式标志
  • HAL_PWR_EnterSTANDBYMode();//进入待机模式

三、UnusedPin配置原则

1、不用的IO按照外部电路设置成上拉或下拉;

2、设置成浮空输入的功耗最大。

3、不用的管脚模拟输入。

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/405753.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

我的第一个REST客户端程序!

Delphi:XE8 看了好几天的资料了,也没有弄出来一个REST程序,尝试了XE8中带的例子,也都没有搞懂。我在网上不断搜索,看是否能够找到适合自己的文章,希望能够做出来一个REST的小例子,万幸&#xff…

GB4208中规定的外壳防护等级IP

外壳防护等级IP 经常看到仪器设备的介绍中包括防护等级,例如IP67,IP50等,不同的防护等级到底对应的是什么级别的防护呢,国标GB4208中有明确的规定。现摘录相关的描述,供查看。

如何对linux文件进行编译,linux编译和执行命令都有哪些?该如何实现?

我们知道,Linux是比如手机、平板电脑、路由器、台式计算机计算机设备的核心,它们都使用着Linux系统。以现在来说,一个合格的开发者必须要对Linux有一定的了解,那么,下面就跟小编一起来看看Linux是如何编译及执行的吧。…

如何给虚拟机上的linux系统添加虚拟硬盘

From: http://www.ezloo.com/2008/03/vmware_linux.html 给vmware虚拟机上的linux系统添加一个虚拟硬盘,并对硬盘进行分区、格式化、给分区创建文件系统,实现挂载,自动挂载! 步骤如下:保证你的linux系统处于关闭状态&a…

linux命令行打开写字板,在Linux操作系统中使用手写板

2009-07-28/14:24手写输入系统的出现拉近了大家与计算机之间的距离,使我们无须苦练输入法。此外,它也是绘画和平面设计爱好者手里的利器。Windows系统下使用手写板已经是司空见惯的事情了,但要在Linux中使用手写板呢?手写板和Linu…

Linux 普通用户和超级用户的切换

ubuntu16环境下。 1、输入su - 2、输入sudo passwd root,修改root密码。 3、切换普通用户 输入 su - jianwang16

winfrom 图片互传

private void button1_Click(object sender, EventArgs e)//从硬盘打开图片显示在窗体里面{OpenFileDialog op new OpenFileDialog();//造一个打开对话框DialogResult dr op.ShowDialog();//将打开对话框显示出来if(drDialogResult.OK) //如果点的是"打开"{FileStre…

Silverlight动画制作之From/To/By基本动画

Silverlight动画制作之From/To/By基本动画From/To/By基本动画其中包含了三个最重要的属性:From;To;By。From指的是对象目标属性的起始值,To指的是对象目标属性的结束值,By指的是结束状态相对于起始状态的偏移量。这里我…

在 Delphi 中调用 JavaScript(二)

本例效果图: 代码文件: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 class(TForm) Memo1: TMemo; Button1: TButton; Edit1: TEdit; Label1: TLabel; procedure Button1Click(…

linux可配置哪些服务,linux操作系统下服务配置

linux操作系统下服务配置 (5页)本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!17.90 积分实用标准文案数学与信息技术学院实 验 报 告实验课程名称: 信息系统与系统集成 实验项目名称&…

你会给别人提反馈吗?

几个例子 你会提反馈吗?不急回答,我们先来看几个例子。 例子一: 项目经理:“xxx,我本来对你的期望特别高,但是你让我有些失望啊。” xxx:“啊,不知道哪些地方做的不好呢?” 项目经理…

关于 CFileDialog 对话框多选功能的一个问题

From: http://www.vckbase.com/document/viewdoc/?id1544 最近有位读者来信指出:《在线杂志》第26期中有一篇文章:“再谈 CFileDialog 对话框的定制”,其例子程序有一个bug。如果多选时选中的文件过多,那么后面选中的文件将无效…

linux winrar 安装目录,WinRAR 5.61发布,提供Linux版本下载,附安装方法

压缩及解压缩工具WinRAR 5.61已经发布下载,提供WinRAR (32/64 bit) 5.61、RAR 5.61 for Linux、RAR for Android、RAR 5.61 for Mac OS X、RAR 5.61 for FreeBSD安装包下载。WinRAR 5.61是一款流行的压缩工具,它支持鼠标播放及外壳扩展功能,支…