第22章 RTX 低功耗之停机模式
以下内容转载自安富莱电子: http://forum.armfly.com/forum.php
STM32F103 停机模式介绍
本章节我们主要讲解停机模式,停机模式是在 Cortex™-M3 的深睡眠模式基础上结合了外设的时钟
控制机制,在停止模式下电压调节器可运行在正常或低功耗模式。此时在 1.8V 供电区域的的所有时钟都
被停止, PLL、 HSI 和 HSE RC 振荡器的功能被禁止, SRAM 和寄存器内容被保留下来。在停止模式下,
所有的 I/O 引脚都保持它们在运行模式时的状态。
STM32F103 如何进入停机模式
在 RTX 系统中,让 STM32 进入停机模式比较容易,调用固件库函数 PWR_EnterSTOPMode 即可 。
不过要注意:为了进入停机模式,所有的外部中断的请求位(挂起寄存器(EXTI_PR))和 RTC 的闹钟标志都必须被清除,否则停止模式的进入流程将会被跳过,程序继续运行。
STM32F103 如何退出停机模式
由于我们是采用指令 WFI 指令进入停机模式,那么设置任一外部中断线 EXTI 为中断模式并且在 NVIC
中必须使能相应的外部中断向量,就可以使用此中断唤醒停机模式。
在开发板上面是将实体按键 K2 对应的引脚设置为中断方式触发。按下此按键会将系统从停机模式唤醒。
STM32F103 使用停机模式注意事项
使用停机模式注意以下两个问题:
进入停机模式前,一定要关闭滴答定时器,实际测试发现滴答定时器中断也能唤醒停机模式。
当一个中断或唤醒事件导致退出停机模式时,HSI RC 振荡器被选为系统时钟。这个时候用户要根据
需要重新配置时钟,如果使用的 HSE 时钟,那么要重新配置并使能 HSE 和 PLL。
STM32F407 停机模式介绍
本章节我们主要讲解停机模式,停机模式基于 Cortex™-M4F 深度睡眠模式与外设时钟门控。调压器
既可以配置为正常模式,也可以配置为低功耗模式。在停止模式下,1.2 V 域中的所有时钟都会停止,PLL、
HSI 和 HSE RC 振荡器也被禁止。内部 SRAM 和寄存器内容将保留。在停止模式下,所有的 I/O 引脚都保
持它们在运行模式时的状态。
STM32F407 如何进入停机模式
在 RTX 系统中,让 STM32 进入停机模式比较容易,调用固件库函数 PWR_EnterSTOPMode 即可,
不过要注意:为了进入停止模式,所有 EXTI 线挂起位(在挂起寄存器 (EXTI_PR)中)、 RTC 闹钟(闹钟 A
和闹钟 B)、 RTC 唤醒、 RTC 入侵和 RTC 时间戳标志必须复位,否则停止模式的进入流程将会被跳过,程
序继续运行。
STM32F407 如何退出停机模式
由于我们是采用指令 WFI 指令进入停机模式,那么设置任一外部中断线 EXTI 为中断模式并且在 NVIC
中必须使能相应的外部中断向量,就可以使用此中断唤醒停机模式。
在开发板上面是将实体按键 K2 对应的引脚设置为中断方式触发。按下此按键会将系统从停机模式唤
醒。
STM32F407 使用停机模式注意事项
使用停机模式注意以下两个问题:
进入停机模式前,一定要关闭滴答定时器,实际测试发现滴答定时器中断也能唤醒停机模式。
当一个中断或唤醒事件导致退出停机模式时,HSI RC 振荡器被选为系统时钟。这个时候用户要根据
需要重新配置时钟,如果使用的 HSE 时钟,那么要重新配置并使能 HSE 和 PLL。
如何有效降低停机模式下的功耗
设计低功耗主要从以下几方面着手:
注意 I/O 的状态。因为在停机状态下,所有的 I/O 引脚都保持它们在运行模式时的状态。
如果此 I/O 口带上拉,请设置为高电平输出或者高阻态输入。
如果此 I/O 口带下拉,请设置为低电平输出或者高阻态输入。
注意 I/O 和外设 IC 的连接。
测试低功耗的时候,一定不要连接调试器,更不能边调试边测电流。


PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI);进入低功耗模式会一直等待中断来唤醒。
K2按键只做唤醒功能:

单片机测试功耗,一般采取测试电流的方式,也是使用电流来衡量的,在VCC 3.3v处串联一个10-20欧的精密电阻,就可以测出电阻的电压,除以电阻求得电流。P=UI。
第22章 RTX 低功耗之停机模式的更多相关文章
- 第21章 RTX 低功耗之睡眠模式
低功耗是 MCU 的一项非常重要的指标,比如某些可穿戴的设备,其携带的电量有限,如果整个电路消耗的电量特别大的话,就会经常出现电量不足的情况,影响用户体验. 本章节为大家讲解 M3/4的低功耗方式之睡 ...
- 第23章 RTX 低功耗之待机模式
以下内容转载自安富莱电子: http://forum.armfly.com/forum.php STM32F103 待机模式介绍 本章节我们主要讲解待机模式,待机模式可实现系统的最低功耗.该模式是在 ...
- FreeRTOS 低功耗之停机模式
以下转载自安富莱电子: http://forum.armfly.com/forum.php STM32F103 如何进入停机模式在 FreeRTOS 系统中,让 STM32 进入停机模式比较容易,调用 ...
- STM32——项目需求之低功耗的停机模式
在说低功耗之前,先要明白一个东西,那就是stm32中的事件和中断. 事件是中断的触发源,开放了对应的中断屏蔽位,则事件可以触发相应的中断.在STM32中,中断与事件不是等价的,一个中断肯定对应一个事件 ...
- FreeRTOS 低功耗之 tickless 模式
以下转载自安富莱电子: http://forum.armfly.com/forum.php 本章节为大家讲解 FreeRTOS 本身支持的低功耗模式 tickless 实现方法,tickless 低功 ...
- 第22章 职责链模式(Chain of Responsibility)
原文 第22章 职责链模式(Chain of Responsibility) 职责链模式 导读:职责链模式是一个既简单又复杂的设计模式,刚开始学习这个设计模式的时候光示例都看了好几遍.就为了理清里面的 ...
- 设计模式之第22章-组合模式(Java实现)
设计模式之第22章-组合模式(Java实现) “鱼哥,有没有什么模式是用来处理树形的“部分与整体”的层次结构的啊.”“当然”“没有?”“有啊.别急,一会人就到了.” 组合模式之自我介绍 “请问你是?怎 ...
- 【STM32H7教程】第22章 STM32H7的SysTick实现多组软件定时器
完整教程下载地址:http://forum.armfly.com/forum.php?mod=viewthread&tid=86980 第22章 STM32H7的SysTick实现 ...
- 【二代示波器教程】第13章 RTX操作系统版本二代示波器实现
第13章 RTX操作系统版本二代示波器实现 本章教程为大家讲解RTX操作系统版本的二代示波器实现.主要讲解RTOS设计框架,即各个任务实现的功能,任务间的通信方案选择,任务栈,系统栈以及全局 ...
随机推荐
- MySQL 索引优化 Using where, Using filesort
用Explain分析SQL语句的时候,经常发现有的语句在Extra列会出现Using filesort,根据MySQL官方文档对他的描述: 引用 MySQL must do an extra pass ...
- scp的两种方式
如果host A 与 host B建立了信任连接(B有A的public key),那么从A向B传送文件,或者从B上传回文件都可以省略密码.但是前提是命令是在A上执行的. 从A向B拷贝文件 on hos ...
- 彻底解决asp.net mvc5.2.2:vs2013 cshtml视图文件报错(当前上下文中不存在名称“model”,ViewBag,Url)
最近遇到一个奇葩的问题,在vs2013下cshtml视图文件报错,出现当前上下文中不存在名称“model”,ViewBag,Url等等),在视图中也没有智能提示了,用@model声明视图的model类 ...
- 【Android】Android 8种对话框(Dialog)
1.写在前面 Android提供了丰富的Dialog函数,本文介绍最常用的8种对话框的使用方法,包括普通(包含提示消息和按钮).列表.单选.多选.等待.进度条.编辑.自定义等多种形式,将在第2部分介绍 ...
- logstash_output_mongodb插件用途及安装详解
安装详情参见:http://mojijs.com/2017/03/222639/index.html http://www.jianshu.com/p/8516e51e105d
- MongoDB----逻辑与物理存储结构
基本的操作 一.常用的命令和基础知识 1.进入MongoDB shell 首先我们进入到MongoDB所在目录执行 cd /work/app/mongodb/bin/ #启动 ./mongo 为了方便 ...
- mysqldump脚本crontab执行失败,但是手动执行成功
检查备份时发现,cron中定时备份mysql的脚本备份失败,但是手动自行mysql备份脚本却能正常成功 检查cron的环境变量: # cat /etc/crontab ... SHELL=/bin/s ...
- 【转载并整理】mysql 创建用户,数据库
http://www.jb51.net/article/31850.htm https://www.cnblogs.com/SQL888/p/5748824.html http://www.cnblo ...
- [转]21分钟 MySQL 入门教程
目录 一.MySQL的相关概念介绍 二.Windows下MySQL的配置 配置步骤 MySQL服务的启动.停止与卸载 三.MySQL脚本的基本组成 四.MySQL中的数据类型 五.使用MySQL数据库 ...
- how-to-convert-string-to-localdate
Few Java examples show you how to convert a String to the new Java 8 Date API – java.time.LocalDate ...