STM32不能进入睡眠模式
今天在编写公司的MCU的低功耗代码,发现MCU在进入睡眠之后立刻就被唤醒,被这个问题纠结了很久。在反复查看数据手册和代码之后才发现问题。
可以看到在休眠模式和深度休眠模式中,唤醒MCU的方法可以是中断,事件,RTC等方法。
最初的程序已经把外设的中断全部关闭,只保留一个按键的中断用作唤醒,但是MCU进入休眠模式之后就立刻被唤醒。后来花了些时间查找问题,终于发现了问题所在。原来我忽略systick时钟的中断。
众所周知,在cortex-M系列的MCU中,都会有一个systick的内置时钟,该时钟在裸机中可以提供一个精确的延时,在RTOS中可以提供一个系统的心跳。问题点就出现在systick上,systick按照设定的周期循环计数,当计数溢出的时候就会进入中断函数。所以MCU进入睡眠模式就立刻被唤醒的原因就是systick中断唤醒了MCU。
解决方法就是在进入睡眠模式前先关闭systick的中断,当MCU退出睡眠模式后再打开systick的中断。
STM32不能进入睡眠模式相关推荐
- STM32——浅谈睡眠模式、停机模式、待机模式
若要理解低功耗,则先要说一下STM32的事件和中断 事件是中断的触发源,开放了对应的中断屏蔽位,则事件可以触发相应的中断.在STM32中,中断与事件不是等价的,一个中断肯定对应一个事件,但一个事件不一 ...
- stm32芯片休眠模式_STM32睡眠模式低功耗(停止模式)
目前stm32已经非常流行了,那么本文讨论下stm32低功耗模式,不多说先上手册内容! 这是英文文档 不好看懂是吧,下面看中文文档! 我对比了 STM32F0 和 STM32F1 两者进入低功耗是一样 ...
- STM32睡眠模式低功耗(停止模式)
目前stm32已经非常流行了,那么本文讨论下stm32低功耗模式,不多说先上手册内容! 这是英文文档 不好看懂是吧,下面看中文文档! 我对比了 STM32F0 和 STM32F1 两者进入低功耗是一样 ...
- STM32 低功耗睡眠模式(SLEEP)事件(EVENT)唤醒实现及优化
STM32 低功耗睡眠模式(SLEEP)事件(EVENT)唤醒实现及优化 1. 介绍 STM32具有多种低功耗模式,当前以STM32L4系列的低功耗模式最为丰富,此处基于STM32L476和STM32 ...
- STM32超低功耗入门之睡眠模式
一. 认识睡眠模式 查看官方手册对睡眠模式的描述: 通过上图可以得出结论: 睡眠模式有 4 种电压调节器方案 在睡眠模式下 CPU 是停止状态 在睡眠模式下程序在 SRAM 执行情况下,Flash 可 ...
- 将STM32设置睡眠模式(使用中断唤醒)之小白学习笔记
#include "bsp_exti.h" #include "Led_Key.h" #include "bsp_SysTick.h" in ...
- stm32 系统进入stop模式_STM32低功耗控制心得体会
授权转载自公众号:嵌入式IoT 1.说明 本文主要叙述在stm32进入stop时如何保持最低功耗的问题,并对部分细节问题进行分析整理.STM32L提供5种低功耗模式:低功耗运行模式.睡眠模式.低功耗睡 ...
- STM32CubeMX学习笔记(15)——电源管理(PWR)低功耗睡眠模式
一.低功耗模式简介 系统提供了多个低功耗模式,可在 CPU 不需要运行时(例如等待外部事件时)节省功耗.由用户根据应用选择具体的低功耗模式,以在低功耗.短启动时间和可用唤醒源之间寻求最佳平衡. 睡眠模 ...
- 【STM32笔记】低功耗模式配置及避坑汇总
[STM32笔记]低功耗模式配置及配置汇总 文章总结:(后续更新以相关文章为准) [STM32笔记]低功耗模式.WFI命令等进入不了休眠的可能原因(系统定时器SysTick一直产生中断) [STM32 ...
最新文章
- 机房收费系统总结【4】-报错码
- It appears as though you do not have permission to view information ...
- 【干货】如何确定需求优先级,如何确定功能优先级
- JDK 14 Rampdown:内部版本27
- 补码到底是个什么东西
- html 选中变颜色变化,如何防止HTML中的选项中的颜色变化以及选中的元素在html中被选中并失去焦点?...
- Linux shell脚本中如何读取跟shell脚本同一目录下的配置文件
- OpenExpressApp架构-信息系统开发平台
- 码农们:你属于哪一种极品程序员?
- 经典机器学习系列(六)【集成学习】
- [思维导图学习五] 思维导图在企业培训中的应用[转]
- Golang导出并下载excel封装
- ctfshow XXE web373-web378 wp
- R语言构造扑克牌自动发牌,洗牌
- Appium+Python appium启动夜神模拟器定位元素(三)
- 基于Django的健身房管理系统
- Java读取文件转换成byte[]的小结
- VNC共享剪切板,打开远程复制粘贴功能
- 电脑硬盘为什么叫计算机,为什么女生的电脑总是很卡 原来硬盘是罪魁祸首
- 西部大开发,青海得到了什么?