工作问题笔记-----STM32休眠问题

单片机休眠与唤醒二三事 想知道单片机休眠如何像吃了德芙一样丝滑么? 想让你的单片机产品在合适的时候休眠待机不再失眠么? 想让你的单片机项目随叫随醒不再怠惰长眠么? 答案-关于单片机休眠与唤醒的配置都在这里了 阅读详情

STM32低功耗分三种:

SLEEP: 电压调节器开启,Cortex-M3内核停止运行,外设保持运行态;

STOP: 电压调节器可选择性开启,所有外设时钟、PLL、HSI和HSE被关闭,Cortex-M3内核和所有外设停止运行,保留SRAM和寄存器的内容;

STANDBY: 待机模式Standby:电压调节器关闭、整个1.8v区域断电。除了备份区域和待机电路的寄存器以外,SRAM和寄存器的内容全部丢失。

 

在休眠状态下,MCU的代码并不会继续执行,而是进入休眠状态,等待唤醒,唤醒的过程会先执行IRQ中断服务函数,然后再执行WFI后的函数。

省电级别由低到高,standby休眠后会让我们的数据丢失,而SLEEP会被所有的中断唤醒,且省电级别并没有STOP高,STOP只能被所有的外部中断EXIT LINE唤醒,符合我们的ACC唤醒规则需求。因为STOP休眠状态下时钟、PLL、HSI、HSE等都会被关闭,因此,唤醒之后,需要重新对RCC进行配置,以保持MCU唤醒后外设的正常运行,因此,需要时钟的情况下STM32的休眠模式应该选用SLEEP而不是STOP,本人目前的需要是STOP休眠状态。一般情况下,为了更加省电,在允许的情况下,MCU休眠后,最好把GPIO口都断开,即DeInit。

PS:经过实践结果    发现103和030 两种STM32的型号在STOP模式下的唤醒有所区别  当103在STOP休眠时会被系统时钟中断唤醒,所以103在休眠前应当关闭系统时钟中断,而030却没有这个现象。

 

对比三种休眠模式的进入函数

值得注意的是,默认情况_WFI()可以让MCU进入SLEEP模式,但是,PWR_EnterSTOPMode函数会改变SCB_SysCtrl的SleepDeep位,因此如果是调用了PWR_EnterSTOPMode后,再用_WFI()的话,进入的并不是SLEEP模式,而是STOP模式。(此点由http://bbs.21ic.com/icview-136301-1-1.html处学习)

STM32CUBEMX系列——CAN通讯的配置 STM32CUBEMX系列——CAN通讯的配置CUBEMX配置说明CAN相关函数说明过滤器的配置回调函数的改写发送函数的改写 CUBEMX配置说明 首先打开STM32CubeMX选择你开发的芯片型号,这里我选择的是F103R6Tx的芯片。然后第一步选择SYS里面的debug模式,如果用HAL库不进行SWD或JTAG配置,单片机只能进行下载一次程序,要进行第二次或更多次程序下载,需要按复位键(如果你的单片机有复位按键的话),或者用镊子夹住复位线路上的电容使其短路,点击Keil下载,再松开镊子。 然后RCC时 阅读详情

相关推荐

stm32l0 rtc休眠周期自动唤醒文档整理

stm32l0 rtc休眠周期自动唤醒文档整理 wangxl@20190814 一、周期性自动唤醒--手册文档说明 周期性唤醒标志由16 位可编程自动重载递减计数器生成。唤醒定时器范围可扩展至17 位。 可通过RTC_CR 寄存器中的WUTE 位来使能此唤醒功能。 唤醒定时器的时钟输入可以是: 2、4、8 或16 分频的RTC 时钟(RTCCLK)。 当...

7416

STM32 低功耗睡眠模式(SLEEP)中断(INTERRUPT)唤醒实现及优化

STM32 低功耗睡眠模式(SLEEP)中断(INTERRUPT)唤醒实现及优化 1. 介绍 STM32具有多种低功耗模式,当前以STM32L4系列的低功耗模式最为丰富,此处基于STM32L476和STM32CUBEIDE环境介绍睡眠模式(SLEEP)中断唤醒的实现(HAL库), 唤醒中断可为任一中断,这里以管脚中断为中断源。SLEEP模式只是停止CPU和后续代码执行,唤醒(其实是continue的作用)后继续执行后面的代码,而不是重启之后从初始代码开始执行。 2. 低功耗模式 STM32L4的低功耗模式,

Pegasus的软件博客 8031

STM32 电池电压采集之低功耗设计

文章目录前言一、ADC采集输入阻抗的问题二、改进方法1.加入电压跟随器2.休眠时控制参考地3.休眠时控制参考地总结 前言 最近在做物联网项目,需要在硬件上实现休眠时超低功耗设计(整机待机电流在50uA以内),工作时必须带有电池电压检测(3.3V-4.2V)。项目是STM32L051做的,电池供电,功耗要求极高。 提示:以下是本篇文章正文内容,下面案例可供参考 一、ADC采集输入阻抗的问题 初始设计是用两个阻值相同电阻分压直接进行ADC采集,阻值1M,由该电路引起的待机电流为4.2/(1000 +10..

Fred_1986的博客 8623

STM32和MSP432的系统延时函数

介绍了STM32和MSP432系统延时函数的原理,并对两者进行了比较

m0_57608081的博客 1150

STM32串口DMA低功耗模式下的工作表现分析

深入探讨STM32在低功耗模式下串口dma的实际运行效果,分析数据传输稳定性与功耗之间的平衡,为嵌入式系统优化提供实用参考,尤其针对串口dma应用场景提出有效建议。

weixin_42518334的博客 1035

Android dex, odex, oat, vdex, art文件介绍

下图可以简化将Java源转换为OAT的过程: .dex Dalvik虚拟机字节码文件 .vdex 其中包含APK的未压缩DEX代码,以及一些旨在加快验证速度的元数据 .odex .oat // JIT,Just-in-time,即时编译,边运行边编译; // AOT,Ahead Of Time,提前编译,指运行前编译。 其中包含APK中已经过AOT编译的方法代码。 原始DEX文件(例如classes.dex)被转换为另一个包含本机代码的文件。这个新文件通常具有.odex。.oat扩展名,并由ELF格式

he980725866的博客 3620

借鉴前辈们的做低功耗-MCU休眠模式(软件角度参考官方例程)

Stm32待机模式的进入与唤醒 具体代码可以参考这位大佬的笔记 https://blog.youkuaiyun.com/Lzinner/article/details/81591102

lishen05的博客 849

cartographer从入门到精通(一):cartographer介绍

Cartographer的架构图我们可以看到白色框出来的三个区域,分别是Input Sensor Data(数据输入模块)Local SLAM(局部SLAM模块)Global SLAM (background thread)(全局SLAM模块)下面我们分别介绍一下这几个模块。

weixin_68094467的博客 1052

stm32芯片休眠模式_stm32单片机进入休眠模式后无法下载程序等问题的解决

利用stm32单片机的休眠模式,使单片机间歇的休眠从而实现低功耗的目的。往往会出现进入休眠后无法唤醒,导致下一次程序烧不进去。通常的解决办法是:一般的开发板或单片机最小系统都会有复位键,按住复位键,点下载,然后松开复位键即可。我遇到的问题是:误入了stm32(STM32L051C6T6)的STOP模式,又没有写入相应的唤醒方法,导致后续的程序不能下载。使用MDK5 点击load时总会出现No ta...

weixin_39885683的博客 1416

Unreal Engine鸿蒙移植实战:环境配置、构建流程与性能优化指南

游戏引擎移植是跨平台开发中的关键技术环节,其核心原理在于通过适配目标操作系统的底层接口和工具链,实现同一套代码在不同硬件和软件环境下的高效运行。这项技术的价值在于最大化代码复用率,降低多平台维护成本,并能让应用快速触达新兴生态系统的用户。在移动游戏和XR应用领域,随着鸿蒙HarmonyOS生态的快速发展,将成熟的商业引擎如Unreal Engine迁移至此平台,成为开发者探索新市场机会的重要路径。本文聚焦于Unreal Engine项目向鸿蒙系统的移植实践,详细解析了从环境搭建、源码适配到构建打包的全链路流

weixin_29011395的博客 410

Python实战:3分钟搞定A股K线数据抓取(附东方财富/腾讯API完整代码)

本文为量化交易初学者提供了一份快速获取A股K线数据的实战指南。通过对比东方财富与腾讯财经两大免费API的优劣,并附上可直接运行的完整Python代码,帮助读者在3分钟内搭建起自己的数据抓取管道,为构建量化交易系统奠定坚实的数据基础。

weixin_29062255的博客 2910

【STM32教程笔记】stm32入门教程(完整版汇总非常详细)

STM32 是意法半导体(STMicroelectronics)推出的一系列基于ARM Cortex-M 内核的32位微控制器。STM32 系列专为要求高性能、低成本、低功耗的嵌入式应用而设计,具有以下特点:特点与优势:1. 高性能:采用了 ARM Cortex-M 内核,例如 Cortex-M3、Cortex-M4 等,具有出色的处理性能和运行速度。

w123456789ABCDEF的博客 1万+

深入解析uncompyle6反编译pyc文件及常见错误修复指南

本文深入解析了使用uncompyle6工具反编译Python字节码文件(.pyc)的完整流程。针对实践中最高频的KeyError和Python版本范围限制两大错误,提供了详细的修复方案与步骤指南,并分享了处理复杂反编译结果的高级技巧与安全实践,是进行代码恢复、调试与分析的重要参考。

uber9的博客 534

STM32L4 使用低功耗串口唤醒休眠状态源码分享

本文介绍了STM32L4系列微控制器的超低功耗特性及其LPUART(低功耗串口)的应用。STM32L4基于Cortex-M4内核,支持多种低功耗模式,最低功耗可达0.23µA。LPUART可在休眠模式下保持工作,通过接收数据自动唤醒系统。文章提供了进入STOP2休眠模式的代码示例,并强调退出休眠后需重新初始化系统时钟。该技术适用于电池供电设备,可显著延长续航时间。

本博客分享软硬件一体化开发实战。硬件涵盖 PCB 设计、STM32 等 MCU 底层开发;软件包含 C++、Rust,Qt/QML、PyQt、Slint、TouchGFX、LVGL 各类 GUI 框架。方便软硬件开发者查阅学习。欢迎关注! 2621

lammps模拟技巧:高熵合金势函数设置三种方法

大家好,我是小马老师。 本文继续介绍lammps模拟中的势函数设置方法。 在前面的文章中,介绍过高熵合金的建模:高熵合金建模 高熵合金包含的原子数较多,势函数的设置相对复杂,在平时一对一的咨询中,这种问题也相对较多。 下面介绍三种高熵合金势函数设置方法。 1.下载专用势函数 下面的网站包含了大多数原子的势函数: https://www.ctcms.nist.gov/potentials/ 如需下载包含Fe原子的势函数,直接点Fe: 出现势函数列表: 比如Al-Co-Cr-Fe-Ni就是高熵合金AlCoC

lammps_jiayou的博客 8962

Pointnet++改进91:2025最新改进模块-RepMBConv模块

本文提出了一种改进PointNet++网络的方法,通过在特征提取模块中引入RepMBConv结构来提升模型性能。主要内容包括:1)理论部分介绍了RepMBConv的设计原理,包含自监督学习框架、动态上下文建模等创新点;2)详细给出了三步修改步骤:创建包含RepMBConv的Python模块、在pointnet2_utils.py中添加注意力机制、修改pointnet2_sem_seg.py主网络结构;3)代码实现展示了如何将RepMBConv集成到PointNetSetAbstraction模块中,形成Po

AIcurator的博客 274

stm32芯片休眠模式_STM32的运行、睡眠、停止和待机四种工作模式

01前言按功耗由高到低排列,STM32具有运行、睡眠、停止和待机四种工作模式。上电复位后 STM32 处于运行状态,当内核不需要继续运行,就可以选择进入后面的三种低功耗模式降低功耗,这三种模式中,电源消耗不同、唤醒时间不同、唤醒源不同,用户需要根据应用需求,选择最佳的低功耗模式。三种低功耗的模式说明如下图:微信图片_20200524233648.png (40.61 KB, 下载次数: 1)202...

weixin_39556891的博客 9679

从基础到前沿:深度剖析光束整形与扫描技术

光束扫描的核心在于通过特定手段改变光束的传播方向,从而实现对目标区域的扫描。在这个过程中,振镜、声光偏转器、电光偏转器等元件发挥着关键作用。振镜是一种常见的光束扫描元件,它主要由电机、反射镜和透镜组成。当电机驱动反射镜旋转时,根据光的反射定律,反射镜会改变入射光线的反射方向。假设初始时光束垂直入射到反射镜上,当反射镜绕某一轴旋转一定角度时,光束的反射方向就会相应改变,从而实现光束在空间中的扫描。在激光打标设备中,通过控制振镜的快速摆动,能够使激光束在工件表面快速移动,完成各种图案和文字的标记。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 2098

STM32 使用 STM32CubeMX HAL库实现低功耗模式

测试下在 STM32CubeMX 环境下如何实现 STM32 的低功耗模式。

不浮夸,不将就,认真对待学知识的我们 5224

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

STM32L431 停止模式休眠与RTC唤醒示例

STM32L431 停止模式休眠与RTC唤醒示例 【下载地址】STM32L431停止模式休眠与RTC唤醒示例 本项目针对STM32L431系列微控制器,演示了如何实现基于停止(stop)模式的低功耗休眠,并通过LPUART(低功耗UART)与RTC(实时时钟)联合实现唤醒功能。经过充分测试,确保休眠与唤醒机制工作正常,适...

gitblog_09757的博客 1092

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

STM32 休眠模式下如何喂狗?

在STM32开发中经常会用到独立看门狗(IWDG)和低功耗模式,看门狗是为了检测和解决由软件错误引起的故障,低功耗模式是为了在CPU不需要继续运行时进入到休眠模式用以节省电能。其中独立看门狗的时钟由独立的RC振荡器(STM32F10x一般为40kHz)提供,即使在主时钟出现故障时,也仍然有效,因此可以在停止和待机模式下工作。而且独立看门狗一旦启动,除了系统复位,它不能再被停止。但这样引发的一个问题

firehood的专栏 2万+

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

STM32CubeMX学习笔记(15)——电源管理(PWR)低功耗睡眠模式

一、低功耗模式简介 系统提供了多个低功耗模式,可在 CPU 不需要运行时(例如等待外部事件时)节省功耗。由用户根据应用选择具体的低功耗模式,以在低功耗、短启动时间和可用唤醒源之间寻求最佳平衡。 睡眠模式、停止模式及待机模式中,若备份域电源正常供电,备份域内的 RTC 都可以正常运行,备份域内的寄存器的数据会被保存,不受功耗模式影响。 从表中可以看到,这三种低功耗模式层层递进,运行的时钟或芯片功能越来越少,因而功耗越来越低。 模式名称 说明 进入方式 唤醒方式 对1.8V区域时钟的影响 对VDD区

Leung的博客 1万+

stm32休眠 以及休眠中如何喂狗

在STM32开发中经常会用到独立看门狗(IWDG)和低功耗模式,看门狗是为了检测和解决由软件错误引起的故障,低功耗模式是为了在CPU不需要继续运行时进入到休眠模式用以节省电能。其中独立看门狗的时钟由独立的RC振荡器(STM32F10x一般为40kHz)提供,即使在主时钟出现故障时,也仍然有效,因此可以在停止和待机模式下工作。而且独立看门狗一旦启动,除了系统复位,它不能再被停止。但这样引发的一个问题

知足常乐乐 9150

STM32进入STOP模式并唤醒实验总结

项目需求,需要实现设备低功耗功能,实现过程中遇到几个问题,以此记录总结。(stm32f103ret6) 问题一:执行PWR_EnterSTOPMode(PWR_Regulator_LowPower,PWR_STOPEntry_WFI);后,程序继续执行,看到的现象像是没有进入休眠。 调试步骤: 1.关闭自己的时钟配置,调用启动函数中默认的SystemInit() 2.关闭相关外设初始...

梦中破的博客 6万+

stm32芯片休眠模式_stm32单片机进入休眠(STOP)模式后无法下载程序等问题解决...

利用stm32单片机的休眠模式,使单片机间歇的休眠从而实现低功耗的目的。往往会出现进入休眠后无法唤醒,导致下一次程序烧不进去。通常的解决办法是:一般的开发板或单片机最小系统都会有复位键,按住复位键,点下载,然后松开复位键即可。我遇到的问题是:误入了stm32(STM32L051C6T6)的STOP模式,又没有写入相应的唤醒方法,导致后续的程序不能下载。使用MDK5 点击load时总会出现No ta...

weixin_33124479的博客 3316
上一篇: Qt 学习之旅-----自义定窗口界面
下一篇: Ubuntu 通过 samba 完成 windows共享
SeeCandy
博客等级 码龄14年 1粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值