STM32低功耗模式

STM32的低功耗模式是为了减少电子设备的能耗而设计的操作模式,广泛应用于依赖电池供电的设备中,旨在延长电池寿命或减少能源消耗。STM32提供了三种主要的低功耗模式,以满足不同层次的降低功耗需求:

一、睡眠模式(Sleep Mode)

  • 特点:在睡眠模式下,CPU暂停执行指令,但系统时钟(Systick)和一些外设(如NVIC)仍然可以工作。也就是说,仅关闭了内核时钟,内核停止运行,但其片上外设,CM3核心的外设全都照常运行。
  • 功耗优势:因为外设仍在运行,所以可以保持较快的响应时间,但功耗相对较高。
  • 应用场景:适用于短暂的休眠,比如等待外设数据,或在周期性任务之间短暂进入低功耗状态。
  • 进入方式:通过设置__WFI(Wait For Interrupt)或__WFE(Wait For Event)指令进入睡眠模式。
  • 唤醒方式:任何中断都可以唤醒CPU并恢复正常工作。

二、停止模式(Stop Mode)

  • 特点:系统时钟停止,1.8V内核电源继续工作,PLL(锁相环)、HSI(高速内部振荡器)和HSE RC(高速外部振荡器)振荡器关闭,寄存器和SRAM数据保留。只有低速时钟(LSI或LSE)可以工作,允许使用低功耗的外部中断来唤醒。
  • 功耗优势:停止模式大大降低了功耗,因为大部分时钟已经关闭,但数据仍然保留,适合较长时间的低功耗状态。
  • 应用场景:适合在处理任务后进入低功耗状态,等待外部事件或定时器唤醒。典型应用包括长时间采集数据的传感器设备。
  • 进入方式:调用HAL_PWR_EnterSTOPMode函数进入停止模式。
  • 唤醒方式:通过外部中断(如RTC、GPIO中断)唤醒。

三、待机模式(Standby Mode)

  • 特点:内核电源关闭,所有寄存器和SRAM内容丢失,仅保留备份寄存器和待机电路供电。也就是说,整个1.8V供电区域被断电,包括PLL、HSI和HSE,SRAM和寄存器内容会丢失,只有备份的寄存器和待机电路保持供电。
  • 功耗优势:待机模式实现了最低功耗,但所有数据(除备份寄存器)都会丢失,重新唤醒后需要重新初始化。
  • 应用场景:适合在设备长时间不使用时进入待机,比如按键唤醒的电池供电设备,或极低频次使用的物联网传感器节点。
  • 进入方式:调用HAL_PWR_EnterSTANDBYMode函数进入待机模式。
  • 唤醒方式:通过唤醒引脚(如WKUP)、RTC警报或重启(上电复位或IWDG复位等)唤醒。

四、低功耗模式的应用与优化

  • 降低系统时钟频率:通过降低系统的工作频率来减少功耗。
  • 关闭未用的外设时钟:关闭不必要的模块或外设,减少芯片功耗。
  • 使用电源管理寄存器:STM32中的PWR_CR(电源控制寄存器)和PWR_CSR(电源控制/状态寄存器)用于配置和监视低功耗状态。
  • FreeRTOS低功耗Tickless模式:在某些应用场景下,可以使用FreeRTOS的低功耗Tickless模式来进一步降低功耗。

综上所述,STM32的低功耗模式为开发者提供了灵活而强大的工具来应对各种低功耗挑战。通过合理选择和应用这些模式,结合硬件特性和软件优化策略,可以显著提高设备的能效比,延长电池寿命,满足现代嵌入式系统的需求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/4966.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32单片机:GPIO模式

GPIO有八种工作模式,分别是推挽输出、开漏输出、复合推挽输出、复合开漏输出、模拟输入、上拉输入、下拉输入、浮空输入。 在了解这些之前,我们先来看一下GPIO口内部的结构: I/O引脚一般工作电压为3.3V,在它边的两个二极管起到保…

[Qt]事件-鼠标事件、键盘事件、定时器事件、窗口改变事件、事件分发器与事件过滤器

目录 前言:Qt与操作系统的关系 一、Qt事件 1.事件介绍 2.事件的表现形式 常见的Qt事件: 常见的事件描述: 3.事件的处理方式 处理鼠标进入和离开事件案例 控件添加到对象树底层原理 二、鼠标事件 1.鼠标按下和释放事件(单击&#x…

Linux下MySQL的简单使用

Linux下MySQL的简单使用 导语MySQL安装与配置 MySQL安装密码设置 MySQL管理 命令 myisamchkmysql其他 常见操作 C语言访问MYSQL 连接例程错误处理使用SQL 总结参考文献 导语 这一章是MySQL的使用,一些常用的MySQL语句属于本科阶段内容,然后是C语言和M…

ElasticSearch索引别名的应用

个人博客:无奈何杨(wnhyang) 个人语雀:wnhyang 共享语雀:在线知识共享 Github:wnhyang - Overview Elasticsearch 索引别名是一种极为灵活且强大的功能,它允许用户为一个或多个索引创建逻辑上…

火狐浏览器Firefox一些配置

没想到还会开这个…都是Ubuntu的错 一些个人习惯吧 标签页设置 常规-标签页 1.按最近使用顺序切换标签页 2.打开新标签而非新窗口(讨厌好多窗口) 3.打开新链接不直接切换过去(很打断思路诶) 4.关闭多个标签页时不向我确认 启动…

数据结构-队列

目录 前言一、队列及其抽象数据类型1.1 队列的基本概念1.2 队列的抽象数据类型 二、队列的实现2.1 顺序表示2.1.1 结构定义2.1.2 基本操作的实现 2.2 链式表示2.2.1 结构定义2.2.2 基本操作的实现 总结 前言 本篇文章介绍队列的基础知识,包括队列的抽象数据类型以及…

STM32-串口-UART-Asynchronous

一,发送数据 #include "stdio.h" uint8_t hello[]"Hello,blocking\r\n"; HAL_UART_Transmit(&huart1,hello,sizeof(hello),500); 二,MicroLIB-printf(" hello\r\n") #include "stdio.h" #ifdef __GNUC…

深度学习 DAY2:Transformer(一部分)

前言 Transformer是一种用于自然语言处理(NLP)和其他序列到序列(sequence-to-sequence)任务的深度学习模型架构,它在2017年由Vaswani等人首次提出。Transformer架构引入了自注意力机制(self-attention mech…

《目标检测数据集下载地址》

一、引言 在计算机视觉的广袤领域中,目标检测宛如一颗璀璨的明星,占据着举足轻重的地位。它宛如赋予计算机一双锐利的 “眼睛”,使其能够精准识别图像或视频中的各类目标,并确定其位置,以边界框的形式清晰呈现。这项技…

题解 CodeForces 1037D Valid BFS? 三种解法 C++

题目传送门 Problem - 1037D - Codeforceshttps://codeforces.com/problemset/problem/1037/Dhttps://codeforces.com/problemset/problem/1037/Dhttps://codeforces.com/problemset/problem/1037/Dhttps://codeforces.com/problemset/problem/1037/Dhttps://codeforces.com/p…

2024微短剧行业生态洞察报告汇总PDF洞察(附原数据表)

原文链接: https://tecdat.cn/?p39072 本报告合集洞察从多个维度全面解读微短剧行业。在行业发展层面,市场规模与用户规模双增长,创造大量高收入就业岗位并带动产业链升级。内容创作上,精品化、品牌化趋势凸显,题材走…

HTML<img>标签

例子 如何插入图片&#xff1a; <img src"img_girl.jpg" alt"Girl in a jacket" width"500" height"600"> 下面有更多“自己尝试”的示例。 定义和用法 该<img>标签用于在 HTML 页面中嵌入图像。 从技术上讲&#x…

故障诊断 | BWO白鲸算法优化KELM故障诊断(Matlab)

目录 效果一览文章概述BWO白鲸算法优化KELM故障诊断一、引言1.1、研究背景及意义1.2、故障诊断技术的现状1.3、研究目的与内容二、KELM基本理论2.1、KELM模型简介2.2、核函数的选择2.3、KELM在故障诊断中的应用三、BWO白鲸优化算法3.1、BWO算法基本原理3.2、BWO算法的特点3.3、…

apisix的authz-casbin

目录 1、apisix的auth-casbin官方介绍 2、casbin介绍和使用 2.1基本知识&#xff1a; 2.2使用例子 3、配置插件 4、postman调用 5、auth-casbin的坑 1、apisix的auth-casbin官方介绍 authz-casbin | Apache APISIX -- Cloud-Native API Gateway 2、casbin介绍和使用 c…

基于python+Django+mysql鲜花水果销售商城网站系统设计与实现

博主介绍&#xff1a;黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者&#xff0c;CSDN博客专家&#xff0c;在线教育专家&#xff0c;CSDN钻石讲师&#xff1b;专注大学生毕业设计教育、辅导。 所有项目都配有从入门到精通的基础知识视频课程&#xff…

【大模型】ChatGPT 高效处理图片技巧使用详解

目录 一、前言 二、ChatGPT 4 图片处理介绍 2.1 ChatGPT 4 图片处理概述 2.1.1 图像识别与分类 2.1.2 图像搜索 2.1.3 图像生成 2.1.4 多模态理解 2.1.5 细粒度图像识别 2.1.6 生成式图像任务处理 2.1.7 图像与文本互动 2.2 ChatGPT 4 图片处理应用场景 三、文生图操…

【0x0052】HCI_Write_Extended_Inquiry_Response命令详解

目录 一、命令概述 二、命令格式及参数 2.1. HCI_Write_Extended_Inquiry_Response命令格式 2.2. FEC_Required 2.3. Extended_Inquiry_Response 三、生成事件及参数 3.1. HCI_Command_Complete 事件 3.2. Status 四、命令执行流程 4.1. 命令准备阶段(主机端) 4.2…

函数递归的介绍

1.递归的定义 在C语言中&#xff0c;递归就是函数自己调用自己 上面的代码就是 main 函数在函数主体内 自己调用自己 但是&#xff0c;上面的代码存在问题&#xff1a;main 函数反复地 自己调用自己 &#xff0c;不受限制&#xff0c;停不下来。 最终形成死递归&#xff0c;…

小白爬虫——selenium入门超详细教程

目录 一、selenium简介 二、环境安装 2.1、安装Selenium 2.2、浏览器驱动安装 三、基本操作 3.1、对页面进行操作 3.1.1、初始化webdriver 3.1.2、打开网页 3.1.3、页面操作 3.1.4、页面数据提取 3.1.5、关闭页面 ?3.1.6、综合小案例 3.2、对页面元素进行操作 3…

JDK长期支持版本(LTS)

https://blogs.oracle.com/java/post/the-arrival-of-java-23 jdk长期支持版本&#xff08;LTS&#xff09;&#xff1a;JDK 8、11、17、21&#xff1a;