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、不用的管脚模拟输入。
STM32单片机低功耗配置相关推荐
- 关于stm32单片机低功耗的实现和唤醒
关于stm32单片机低功耗的实现和唤醒 - 沙河淘金 - 博客园 关于stm32单片机低功耗的实现和唤醒 最近做的项目中要求低功耗,在单片机完成了手头上的工作之后,就进入低功耗模式,项目的需求是单片机 ...
- STM32单片机-低功耗设置
STM32F103R8和RC的停机模式的休眠电流还不一样,R8停机模式实测为11uA,RC停机模式实测为30uA,还以为又是我的程序哪里没做好呢,仔细看了PDF,这两个芯片PDF上标的值的确有区别,和 ...
- STM32单片机低功耗剖析
STM32F103R8和RC的停机模式的休眠电流还不一样,R8停机模式实测为11UA,RC停机模式实测为30uA,还以为又是我的程序哪里没做好呢,仔细看了PDF,这两个芯片PDF上标的值的确有区别,和 ...
- stm32芯片休眠模式_基于STM32单片机低功耗模式机制详细解析
相关推荐 创新的 RXv3 核大幅提升了久经验证的瑞萨电子 RX CPU 核架构性能,实现了高达 5.8 Co... 发表于 2018-10-25 14:54 • 0次阅读 RXv3核实现了5.8 C ...
- 单片机低功耗配置及注意事项
32的三种低功耗模式 睡眠sleep,停机stop,待机idle或standby 睡眠状态下只是CPU关闭,任一中断均可唤醒. 停机状态下关闭CPU及内部功能.分频器.HSE,可用外部中断.电源电压中 ...
- STM32单片机外部中断配置讲解
2019独角兽企业重金招聘Python工程师标准>>> 单片机外部中断简介 所谓外部中断,就是通过外部信号所引起的中断,如单片机引脚上的电平变化(高电平.低电平).边沿变化(上升沿. ...
- stm32单片机例程下载链接
在这篇文章中将自己上传的资源做一个下载链接的目录方便查找下载 STM32单片机实现DMA+ADC+UART功能 STM32F103单片机+ULN2003驱动直流电机 STM32F103单片机使用TM1 ...
- STM32单片机与Openmv的串口通信
openmv与stm32的串口通信 简谈闲话 Openmv主要代码 STM32单片机的配置 运行效果图片如下 简谈闲话 这两天本人利用周末时间粗略的学习一下openmv的使用,目的是用openmv图像 ...
- CubeMX配置STM32实现httpd服务器CGI功能并使用网页控制STM32单片机(四)
CubeMX配置STM32实现httpd服务器CGI功能并使用网页控制STM32单片机 引言 CubeMX配置HTTPD的CGI功能 实验过程 发现的问题 总结 引言 在前三篇文章中自己介绍了如何配置 ...
最新文章
- android152 笔记 2
- python【力扣LeetCode算法题库】1248- 统计「优美子数组」
- Tornado学习笔记(四)
- boost::smart_ptr模块collector相关的测试程序
- 算法入门经典第六章 例题6-2 铁轨
- 服务器自动运行python_在虚拟主机中安装了python程序,如何使它在服务器上自动运行?...
- 水平分库分表的关键问题及解决思路(转)
- 3D中obj文件操作
- 般若波罗蜜多心经(观音心经)注解
- 自动驾驶基础知识(二)——术语中英文对照
- 会员系统+企业微信+小程序,助力私域高效转化
- java super extend 区别_Java泛型中extends和super的区别
- SQLiteOpenHelper 崩溃Couldnt read row 0, col -1 from CursorWindow.
- 以 gensim 訓練中文詞向量
- RestfulApi接口规范
- Python实现京东自动登录(自动完成滑块验证)
- 自定义UDF函数:随机生成N位随机数,包含字母,数字
- 多方安全计算(MPC)知识汇总
- 限速限流 算法 工具
- Install OIM9.1.0.1 on RHEL5.4
热门文章
- mysql 官方镜像_运行官方mysql 镜像
- 计算机联系函范文,致客户联络函
- 单因素方差分析_基于R语言开展方差分析(一)——单因素方差分析
- matlab kfda,SVD与KFDA相结合人脸识别-matlab-毕业论文
- android 调用java接口_android调用java的web service接口
- java zero copy 实现,关于Zero Copy
- Flask设置返回json格式数据
- bash shell函数的定义及变量的简单说明
- 五种I/O 模式——阻塞(默认IO模式),非阻塞(常用语管道),I/O多路复用(IO多路复用的应用场景),信号I/O,异步I/O
- python中调用C++写的动态库