第23章 RTX 低功耗之待机模式
以下内容转载自安富莱电子: http://forum.armfly.com/forum.php
STM32F103 待机模式介绍
本章节我们主要讲解待机模式,待机模式可实现系统的最低功耗。该模式是在 Cortex-M3 深睡眠模
式时关闭电压调节器。整个 1.8V 供电区域被断电。 PLL、 HSI 和 HSE 振荡器也被断电。 SRAM 和寄存器
内容丢失,只有备份的寄存器和待机电路维持供电。
STM32F103 如何进入待机模式
在 RTX 系统中,让 STM32 进入待机模式比较容易,调用固件库函数 PWR_EnterSTANDBYMode即可。
STM32F103 如何退出待机模式
让 STM32 从待机模式唤醒可以通过外部复位(NRST 引脚)、 IWDG 复位、 WKUP 引脚上的上升沿或
RTC 闹钟事件的上升沿。从待机唤醒后,除了电源控制/状寄存器,所有寄存器被复位。
从待机模式唤醒后的代码执行等同于复位后的执行。电源控制/状态寄存器(PWR_CSR)将会指示内核
由待机状态退出。
在开发板上面是通过 K2 按键来唤醒,K2 按键使用的引脚就是 WKUP 引脚。
STM32F103 使用待机模式注意事项
待机模式要注意以下问题:
在待机模式下,所有的 I/O 引脚处于高阻态,除了以下的引脚:
复位引脚(始终有效)。
当被设置为防侵入或校准输出时的 TAMPER 引脚。
被使能的唤醒引脚。
STM32F407 待机模式介绍
本章节我们主要讲解待机模式,待机模式下可达到最低功耗。待机模式基于 Cortex™-M4F 深度睡眠
模式,其中调压器被禁止。因此 1.2 V 域断电。 PLL、 HSI 振荡器和 HSE 振荡器也将关闭。除备份域 RTC
寄存器、 RTC 备份寄存器和备份 SRAM)和待机电路中的寄存器外,SRAM 和寄存器内容都将丢失。
STM32F407 如何退出待机模式
让 STM32 从待机模式唤醒可以通过外 WKUP 引脚上升沿、 RTC 闹钟(闹钟 A 和闹钟 B)、 RTC 唤
醒事件、 RTC 入侵事件、 RTC 时间戳事件、 NRST 引脚外部复位和 IWDG 复位,唤醒后除了电源控制/
状寄存器,所有寄存器被复位。
从待机模式唤醒后,程序将按照复位(启动引脚采样、复位向量已获取等)后的方式重新执行。 PWR
电源控制/ 状态寄存器(PWR_CSR)中的 SBF 状态标志指示 MCU 已处于待机模式。
在开发板上面是通过 K2 按键来唤醒,K2 按键使用的引脚就是 RTC 入侵事件检测引脚 PC13。
STM32F407 使用待机模式注意事项
待机模式要注意以下问题:
将选择的待机模式唤醒源(RTC 闹钟 A、 RTC 闹钟 B、 RTC 唤醒、 RTC 入侵或 RTC 时间戳标志)对
应的 RTC 标志清零,防止无法正常进入待机模式。
待机模式下的 I/O 状态
复位引脚(仍可用)。
RTC_AF1 引脚 (PC13)(如果针对入侵、时间戳、 RTC 闹钟输出或 RTC 时钟校准输出进行了配
置)。
WKUP 引脚 (PA0)(如果使能)。
根据这个情况,要实现不手动按键开共享单车的锁,貌似只有独立看门狗了?
第23章 RTX 低功耗之待机模式的更多相关文章
- 第21章 RTX 低功耗之睡眠模式
低功耗是 MCU 的一项非常重要的指标,比如某些可穿戴的设备,其携带的电量有限,如果整个电路消耗的电量特别大的话,就会经常出现电量不足的情况,影响用户体验. 本章节为大家讲解 M3/4的低功耗方式之睡 ...
- 第22章 RTX 低功耗之停机模式
以下内容转载自安富莱电子: http://forum.armfly.com/forum.php STM32F103 停机模式介绍 本章节我们主要讲解停机模式,停机模式是在 Cortex™-M3 的深睡 ...
- FreeRTOS 低功耗之待机模式
STM32F103 如何进入待机模式在 FreeRTOS 系统中,让 STM32 进入待机模式比较容易,调用固件库函数PWR_EnterSTANDBYMode 即可. STM32F103 如何退出待机 ...
- 第23章 访问者模式(Visitor Pattern)
原文 第23章 访问者模式(Visitor Pattern) 访问者模式 导读:访问者模式是我个人认为所有行为模式中最为复杂的一种模式了,这个模式可能看一遍会看不懂,我也翻了好几个例子,依然不能很好的 ...
- STM32学习笔记(九) 外部中断,待机模式和事件唤醒
学会知识只需要不段的积累和提高,但是如何将知识系统的讲解出来就需要深入的认知和系统的了解.外部中断和事件学习难度并不高,不过涉及到STM32的电源控制部分,还是值得认真了解的,在本文中我将以实际代码为 ...
- JavaScript高级程序设计(第三版)学习笔记20、21、23章
第20章,JSON JSON(JavaScript Object Notation,JavaScript对象表示法),是JavaScript的一个严格的子集. JSON可表示一下三种类型值: 简单值: ...
- 【二代示波器教程】第13章 RTX操作系统版本二代示波器实现
第13章 RTX操作系统版本二代示波器实现 本章教程为大家讲解RTX操作系统版本的二代示波器实现.主要讲解RTOS设计框架,即各个任务实现的功能,任务间的通信方案选择,任务栈,系统栈以及全局 ...
- 亲测实验,stm32待机模式和停机模式唤醒程序的区别,以及唤醒后程序入口
这两天研究了STM32的低功耗知识,低功耗里主要研究的是STM32的待机模式和停机模式.让单片机进入的待机模式和停机模式比较容易,实验中通过设置中断口PA1来响应待机和停机模式. void EXTI1 ...
- FreeRTOS 低功耗之 tickless 模式
以下转载自安富莱电子: http://forum.armfly.com/forum.php 本章节为大家讲解 FreeRTOS 本身支持的低功耗模式 tickless 实现方法,tickless 低功 ...
随机推荐
- Octave及其工具包的安装
Octave的安装: http://blog.sina.com.cn/s/blog_1358485f70102wmpa.html http://www.gnu.org/software/octave/ ...
- Redis学习之路(003)- hiredis安装及测试
一. hiredis下载地址及C API github下载:https://github.com/redis/hiredis 安装脚本: #!/bin/zsh git clone https://g ...
- 【struts2】值栈(后篇)
在值栈(前篇)我们学习了值栈的基本知识,接下来,来看看在程序中具体如何使用值栈. 1 ActionContext的基本使用 1.1 如何获取? 要获取ActionContext有两个基本的方法,如果在 ...
- MongoDB 学习笔记(1)
数据库 一个mongodb中可以建立多个数据库. MongoDB的默认数据库为"db",该数据库存储在data目录中. MongoDB的单个实例可以容纳多个独立的数据库,每一个都有 ...
- 解决Mac上adb: command not found问题
使用mac进行开发的时候,有时候需要使用adb指令来进行一些操作,但是如果没有配置过Android环境变量,可能会出现adb: command not found的问题,查了一些资料,这里记录一下ma ...
- 两张图看清SharePoint 2013 Farm 逻辑体系结构
前篇文章分析了SharePoint 2013 的物理拓扑结构.物理拓扑分为3层(2层),详情参见<SharePoint 2013 Farm (多层服务器)安装指南——Least Privileg ...
- HTML5+CSS3整体回顾
http://blog.poetries.top/2016/10/19/HTML5+CSS3%E5%9F%BA%E7%A1%80%E5%9B%9E%E9%A1%BE%20/ 这篇文章主要总结H5的一些 ...
- STM8在IAR中Option Byte配置
转http://www.stmcu.org/module/forum/thread-607140-1-1.html 近期帮客户调试STM8的程序使用到OptionByte配置,在网上查询几乎都是介绍如 ...
- [Err] ORA-00911: 无效字符
使用navicat执行从pw中导出的sql语句时报[Err] ORA-00911: 无效字符 这个错误. 经过分析后发现,是因为某个表的id中的类型设置用的中文括号包起来的. 但是不知道为什么sql ...
- CentOS 7 重装mysql编译过程报错解决方法
错误记录: [ 82%] Building C object libmysql/CMakeFiles/clientlib.dir/__/sql-common/client.c.o/usr/local/ ...