以下内容转载自安富莱电子: 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 低功耗之停机模式的更多相关文章

  1. 第21章 RTX 低功耗之睡眠模式

    低功耗是 MCU 的一项非常重要的指标,比如某些可穿戴的设备,其携带的电量有限,如果整个电路消耗的电量特别大的话,就会经常出现电量不足的情况,影响用户体验. 本章节为大家讲解 M3/4的低功耗方式之睡 ...

  2. 第23章 RTX 低功耗之待机模式

    以下内容转载自安富莱电子: http://forum.armfly.com/forum.php STM32F103 待机模式介绍 本章节我们主要讲解待机模式,待机模式可实现系统的最低功耗.该模式是在 ...

  3. FreeRTOS 低功耗之停机模式

    以下转载自安富莱电子: http://forum.armfly.com/forum.php STM32F103 如何进入停机模式在 FreeRTOS 系统中,让 STM32 进入停机模式比较容易,调用 ...

  4. STM32——项目需求之低功耗的停机模式

    在说低功耗之前,先要明白一个东西,那就是stm32中的事件和中断. 事件是中断的触发源,开放了对应的中断屏蔽位,则事件可以触发相应的中断.在STM32中,中断与事件不是等价的,一个中断肯定对应一个事件 ...

  5. FreeRTOS 低功耗之 tickless 模式

    以下转载自安富莱电子: http://forum.armfly.com/forum.php 本章节为大家讲解 FreeRTOS 本身支持的低功耗模式 tickless 实现方法,tickless 低功 ...

  6. 第22章 职责链模式(Chain of Responsibility)

    原文 第22章 职责链模式(Chain of Responsibility) 职责链模式 导读:职责链模式是一个既简单又复杂的设计模式,刚开始学习这个设计模式的时候光示例都看了好几遍.就为了理清里面的 ...

  7. 设计模式之第22章-组合模式(Java实现)

    设计模式之第22章-组合模式(Java实现) “鱼哥,有没有什么模式是用来处理树形的“部分与整体”的层次结构的啊.”“当然”“没有?”“有啊.别急,一会人就到了.” 组合模式之自我介绍 “请问你是?怎 ...

  8. 【STM32H7教程】第22章 STM32H7的SysTick实现多组软件定时器

    完整教程下载地址:http://forum.armfly.com/forum.php?mod=viewthread&tid=86980 第22章       STM32H7的SysTick实现 ...

  9. 【二代示波器教程】第13章 RTX操作系统版本二代示波器实现

    第13章      RTX操作系统版本二代示波器实现 本章教程为大家讲解RTX操作系统版本的二代示波器实现.主要讲解RTOS设计框架,即各个任务实现的功能,任务间的通信方案选择,任务栈,系统栈以及全局 ...

随机推荐

  1. Js里面IF(var)表示什么意思?js中if的写法、含义

    Q:if(一个变量),没有> < !=这些半短逻辑, 什么时候为真 什么时候为假? A:是判断逻辑,javascript是弱变量类型语言,通俗地就是没有数据类型.任意值都有逻辑值(真或假) ...

  2. MVC2 扩展Models和自定义验证(学习笔记)

    当我们利用Visual Studio生成实体类以后,难免会用到验证功能(例如,用户登录时验证用户名是否为空,并加以显示). Visual Studio实体类:实体类 如果直接去编辑Visual Stu ...

  3. DSYMTools App Bug 分析工具

    1.DSYMTools 简介 DSYMTools 是一个可以解析 iOS Crash 文件的工具. GitHub 下载地址 DSYMTools 其它下载地址 DSYMTools v1.0.5 for ...

  4. 一个web.Config或app.Config自定义段configSections的示例

    一个web.Config或app.Config自定义段configSections的示例 越来越觉得,直接用配置文件app.Config或web.Config配置应用系统的运行参数,比自己做一个xml ...

  5. 编码 GBK 的不可映射字符

    一般做项目公司都会统一要求文件编码类型,很多为了实现应用国际化和本地化和更高的性能,而选用UTF-8而非GBK. 但在开发过程中我们都用的是IDE,只要更改了配置就不用操心了,但有时我们也会用命令行来 ...

  6. 关于ps cs5的一些问题

    一.photoshop cs5 默认在窗口中浮动方法 1.打开“编辑>首选项>界面”在“面板和文档”里把“以选项卡方式打开图像”的勾选去掉 2.点击菜单栏“窗口>排列>使所有内 ...

  7. SharePoint 2013创建WCF REST Service

    SharePoint 2013为开发者提供了丰富的REST API,方便了我们在客户端操作List中的数据.当然我们也可以在SharePoint 2013中创建自定义的REST Service,比如通 ...

  8. CSS艺术字

    一.使用canvas自己画 1. 脚本部分 <script type="text/javascript"> function drawText() { var canv ...

  9. SQL SERVER数据库维护与重建索引

    第一步:查看是否需要维护,查看扫描密度/Scan Density是否为100% declare @table_id int set @table_id=object_id('表名') dbcc sho ...

  10. React Native 错误锦集

    启动时报错 : React Native version mismatch. JavaScript version: 0.57.4 Native version: 0.55.2 解决方案传送门:htt ...