FreeRTOS学习 -- 低功耗Tickless模式

devtools/2024/9/24 4:26:23/

一、STM32F4低功耗模式

STM32 本身就支持低功耗,一共有三种低功耗模式:

  • 睡眠(Sleep)模式。
  • 停止(Stop)模式。
  • 待机(Standby)模式。

在这里插入图片描述

1、睡眠模式(Sleep)

进入睡眠模式

进入睡眠模式有两种指令:WFI(等待中断)和WFE(等待事件)。根据Cortex-M内核的SCR(系统控制)寄存器可以选择使用立即休眠还是退出休眠。当SCR寄存器SLEEPONEXIT(bit1)位为 0 的时候使用立即休眠,当为 1 的时候使用退出时休眠。

CMSIS(Cortex 微控制器软件接口标准)提供了两个函数来操作指令 WFI 和 WFE,我们可以直接使用这两个函数: WFI 和 WFE。FreeRTOS 系统会使用 WFI 指令进入休眠模式。

退出休眠模式

如果使用WFI指令进入休眠模式的话,那么任意一个中断都会将MCU从休眠模式中唤醒,如果使用WFE指令进入休眠模式的话,那么当有事件发生的话就会退出休眠模式。比如配置一个EXIT线作为事件。
当 STM32F429 处于休眠模式的时候 Cortex-M4F 内核停止运行,但是其他外设运行正常,比如 NVIC、SRAM 等。休眠模式的功耗比其他两个高,但是休眠模式没有唤醒延时,应用程序可以立即运行。

2、停止模式(Stop)

停止模式基于Cortex-M4F 的深度休眠模式与外设时钟门控,在此模式下 1.2V 域的所有时钟都会停止,PLL、HSI和HSE RC振荡器会被禁止,但是内部SRAM的数据会被保留。调压器可以工作在正常模式,也可配置为低功耗模式。如果有必要的话可以通过将PWR_CR 寄存器的FPDS位置 1 来使Flash在停止模式的时候进入掉电状态,当Flash处于掉电状态的时候MCU从停止模式唤醒以后需要更多的启动延时。停止模式的进入和退出如下:
在这里插入图片描述

3、待机模式(Standby)

相比于前面两种低功耗模式,待机模式的功耗最低。待机模式是基于 Cortex-M4F 的深度睡眠模式,其中调压器被禁止。1.2V域断电,PLL、HSI振荡器和HSE振荡器也被关闭。除了备份区域和待机电路相关的寄存器器外,SRAM和其他寄存器的内容都将丢失。待机模式的进入和退出如下:
在这里插入图片描述


http://www.ppmy.cn/devtools/92499.html

相关文章

前端CSS画图形

我以前一直很好奇,这些下拉菜单中的小箭头是怎么实现的,直到我看到了进阶的CSS。 OK,let me tell you hao to do. 想要实现这个效果,方法很多,我知道的就两个: 图片作弊法,CSS妙用法 图片作弊…

Vue 项目中导入文件时如何默认找寻该文件夹下的 index.vue 文件

文章目录 需求分析 需求 如下图,在Vue 项目中导入 frequencyChange 文件夹时如何默认找寻该文件夹下的 index.vue 文件 分析 确保项目结构和命名约定 首先,确保你的 Vue 单文件组件按照约定命名,例如: components/Example/inde…

Python爬虫——爬取bilibili中的视频

爬取bilibili中的视频 本次爬取,还是运用的是requests方法 首先进入bilibili官网中,选取你想要爬取的视频,进入视频播放页面,按F12,将网络中的名称栏向上拉找到第一个并点击,可以在标头中,找到…

24/8/9算法笔记 随机森林

"极限森林"(Extremely Randomized Trees,简称ERT)是一种集成学习方法,它属于决策树的变体,通常被归类为随机森林(Random Forest)的一种。极限森林的核心思想是在构建决策树时引入极端…

Docker技术背景与应用:解决现代开发中的关键问题

目录 Docker技术背景与应用:解决现代开发中的关键问题 一、Docker的技术背景 1. 什么是Docker? 2. Docker的核心组件 3. Docker的历史发展 二、Docker解决了哪些问题? 1. 环境一致性问题 2. 依赖管理问题 3. 部署复杂性问题 4. 资源…

Vue.js 框架兼容 Internet Explorer (IE) 浏览器指南

在现代Web开发中,尽管Internet Explorer (IE) 浏览器的市场份额在逐渐下降,但在某些特定场景下,仍需要保证应用能够兼容IE。本文将介绍如何让你的Vue.js应用兼容IE11,并提供详细的步骤说明。 准备工作 确保项目使用Vue 2.x&…

JAVA集中学习第四周学习记录(三)

系列文章目录 第一章 JAVA集中学习第一周学习记录(一) 第二章 JAVA集中学习第一周项目实践 第三章 JAVA集中学习第一周学习记录(二) 第四章 JAVA集中学习第一周课后习题 第五章 JAVA集中学习第二周学习记录(一) 第六章 JAVA集中学习第二周项目实践 第七章 JAVA集中学习第二周学…

【区块链+社会公益】腾讯志愿者公益平台 | FISCO BCOS应用案例

由腾讯技术公益团队主导的“公益志愿者平台”,旨在链接公益组织和志愿者。公益组织入驻平台后可以发布公 益活动、征集志愿者,志愿者可以在平台报名参加公益活动、获得公益组织和平台联合颁发的志愿服务证书。 腾讯技术公益采用了微众区块链技术对 “公…