FreeRTOS 低功耗之停机模式
以下转载自安富莱电子: http://forum.armfly.com/forum.php
STM32F103 如何进入停机模式
在 FreeRTOS 系统中,让 STM32 进入停机模式比较容易,调用固件库函数 PWR_EnterSTOPMode
即可,不过要注意:为了进入停机模式,所有的外部中断的请求位(挂起寄存器(EXTI_PR))和 RTC 的闹钟
标志都必须被清除,否则停止模式的进入流程将会被跳过,程序继续运行。
STM32F103 如何退出停机模式
由于我们是采用指令 WFI 指令进入停机模式,那么设置任一外部中断线 EXTI 为中断模式并且在 NVIC
中必须使能相应的外部中断向量,就可以使用此中断唤醒停机模式。
在开发板上面是将实体按键 K2 对应的引脚设置为中断方式触发。按下此按键会将系统从停机模式唤
醒。
STM32F103 使用停机模式注意事项
使用停机模式注意以下两个问题:
进入停机模式前,一定要关闭滴答定时器,实际测试发现滴答定时器中断也能唤醒停机模式。
当一个中断或唤醒事件导致退出停机模式时,HSI RC 振荡器被选为系统时钟。 这个时候用户要根据
需要重新配置时钟,如果使用的 HSE 时钟,那么要重新配置并使能 HSE 和 PLL。
STM32Fxx 如何进入停机模式
在 FreeRTOS 系统中,让 STM32 进入停机模式比较容易,调用固件库函数 PWR_EnterSTOPMode
即可,不过要注意:为了进入停机模式,所有 EXTI 线挂起位(在挂起寄存器 (EXTI_PR)中)、 RTC 闹钟
(闹钟 A 和闹钟 B)、 RTC 唤醒、 RTC 入侵和 RTC 时间戳标志必须复位,否则停机模式的进入流程将会被
跳过,程序继续运行。
STM32F4xx 如何退出停机模式
由于我们是采用指令 WFI 指令进入停机模式,那么设置任一外部中断线 EXTI 为中断模式并且在 NVIC
中必须使能相应的外部中断向量,就可以使用此中断唤醒停机模式。
在开发板上面是将实体按键 K2 对应的引脚设置为中断方式触发,按下此按键会将系统从停机模式唤
醒。
STM32F4xx 使用停机模式注意事项
使用停机模式注意以下两个问题:
进入停机模式前,一定要关闭滴答定时器,实际测试发现滴答定时器中断也能唤醒停机模式。
当一个中断或唤醒事件导致退出停机模式时,HSI RC 振荡器被选为系统时钟。 这个时候用户要根据
需要重新配置时钟,如果使用的 HSE 时钟,那么要重新配置并使能 HSE 和 PLL。
如何有效降低停机模式下的功耗
设计低功耗主要从以下几方面着手:
注意 I/O 的状态。 因为在停机状态下,所有的 I/O 引脚都保持它们在运行模式时的状态。
如果此 I/O 口带上拉,请设置为高电平输出或者高阻态输入。
如果此 I/O 口带下拉,请设置为低电平输出或者高阻态输入。
注意 I/O 和外设 IC 的连接。
测试低功耗的时候,一定不要连接调试器,更不能边调试边测电流。
F429关于低功耗的停机模式说明:
(1) 停机模式是在 Cortex-M4F 的深睡眠模式基础上结合了外设的时钟控制机制,在停机模式下
电压调节器可运行在正常或低功耗模式。此时在 1.2V 供电区域的的所有时钟都被停止,PLL、
HSI 和 HSE 的 RC 振荡器的功能被禁止,SRAM 和寄存器内容被保留下来。
(2) 在停机模式下,所有的 I/O 引脚都保持它们在运行模式时的状态。
(3) 一定要关闭滴答定时器,实际测试发现滴答定时器中断也能唤醒停机模式。
(4) 当一个中断或唤醒事件导致退出停机模式时, HSI RC 振荡器被选为系统时钟。
(5) 退出低功耗的停机模式后,需要重新配置使用 HSE。
FreeRTOS 低功耗之停机模式的更多相关文章
- FreeRTOS 低功耗之 tickless 模式
以下转载自安富莱电子: http://forum.armfly.com/forum.php 本章节为大家讲解 FreeRTOS 本身支持的低功耗模式 tickless 实现方法,tickless 低功 ...
- FreeRTOS 低功耗之睡眠模式
以下转载自安富莱电子: http://forum.armfly.com/forum.php 低功耗是 MCU 的一项重要的指标,比如某些可穿戴的设备,其携带的电量有限,如果整个电路消耗的电量特别大的话 ...
- STM32——项目需求之低功耗的停机模式
在说低功耗之前,先要明白一个东西,那就是stm32中的事件和中断. 事件是中断的触发源,开放了对应的中断屏蔽位,则事件可以触发相应的中断.在STM32中,中断与事件不是等价的,一个中断肯定对应一个事件 ...
- 第22章 RTX 低功耗之停机模式
以下内容转载自安富莱电子: http://forum.armfly.com/forum.php STM32F103 停机模式介绍 本章节我们主要讲解停机模式,停机模式是在 Cortex™-M3 的深睡 ...
- FreeRTOS 低功耗之待机模式
STM32F103 如何进入待机模式在 FreeRTOS 系统中,让 STM32 进入待机模式比较容易,调用固件库函数PWR_EnterSTANDBYMode 即可. STM32F103 如何退出待机 ...
- FreeRTOS低功耗模式
在系统或电源复位以后,微控制器处于运行状态.当CPU不需继续运行时,可以利用多种低功耗模式来节省功耗,例如等待某个外部事件时,用户需要根据最低电源消耗,最快速启动时间和可用的唤醒源等条件,选定一个最佳 ...
- 亲测实验,stm32待机模式和停机模式唤醒程序的区别,以及唤醒后程序入口
这两天研究了STM32的低功耗知识,低功耗里主要研究的是STM32的待机模式和停机模式.让单片机进入的待机模式和停机模式比较容易,实验中通过设置中断口PA1来响应待机和停机模式. void EXTI1 ...
- stm8 停机模式与外部中断唤醒中一个小问题
做了一个简单的项目,电路板使用电池供电,需要系统在待机时低功耗.而对外接口只有4个按键,也就是唤醒必须要通过这四个按键. 系统功能就不介绍了,只给出进入低功耗的代码和退出低功耗的代码. 使用芯片为st ...
- ESP8266的低功耗方案-睡眠模式
在某些时候我们设计的产品可能不具备持久供电的环境,那通常会采用锂电池.干电池一类的轻便型的非持久性电源.当遇到这种情况时,产品的续航能力可能就会成用户评估产品的一个重要指标,加大电池容量当然是最为直接 ...
随机推荐
- doGet和doPost区别
1,form运行方式 当form框里面的method为get时,执行doGet方法当form框里面的method为post时,执行doPost方法 2,生成方式 get方式有四种:1)直接在URL地址 ...
- iOS 图片部分模糊,类似于美图秀秀
代码地址如下:http://www.demodashi.com/demo/14277.html 演示效果 演示效果 代码结构 项目结构截图如下: 该模块的核心源码部分为 MBPartBlurView, ...
- BroadcastReceiver之实现锁屏、解锁样例
好久没有写android的小样例了,因为前几天写了一篇关于Intent.Action的文章(http://blog.csdn.net/ljphhj/article/details/38796739). ...
- Android开发之动态检索(Filter)联系人
1. 将所有联系人都转换为数字串,存到列表中. 将联系人姓名转换为数字串.例如,张丽思创->zlsc->9572. 过程解析: 张 – zhang – z – 9 丽 – li – l – ...
- Xshell和Xftp5配置连接阿里云服务器
配置Xftp5 配置成功后 配置Xshell 记住用户名和密码 连接成功
- useradd或者userdel相关用户管理命令不好用
前言 有时使用useradd或者userdel会出现如下报错: userdel: cannot open /etc/passwd 很明显是/etc/passwd文件导致的 一.查看以及改变文件状态 [ ...
- JSON与Bean互转
转自: 关于json与javaBean之间的转换 废话不多说,直接进入主题,json与javaBean之间的互相转换 javaBean转换成json 直接使用提供的方法可以得到json JSONObj ...
- windows系统定时重启自定义exe程序
工作需要, Windows系统定时重启自定义exe程序. 写了如下程序, 按照说明(readme.txt)修改批处理文件中的四个参数即可: 1.readme.txt 第一个参数:进程名(不用带exe) ...
- python练习笔记——利用信号signal处理僵尸进程
1 signal处理僵尸进程的基于语法 利用信号signal处理僵尸进程的方法:signal(SIGCHLD,SIG_IGN),该方法也是第三种处理僵尸进程的方法. SIGCHLD:子进程状态改变后产 ...
- Python学习笔记010——匿名函数lambda
1 语法 my_lambda = lambda arg1, arg2 : arg1 + arg2 + 1 arg1.arg2:参数 arg1 + arg2 + 1 :表达式 2 描述 匿名函数不需要r ...