关于stm32的STOP模式

news/2024/12/18 0:57:27/

1.停止模式唤醒后从哪里执行?

  • 停止模式特性

    • MCU 在进入停止模式时,会保存当前的上下文(包括程序计数器和寄存器状态)。
    • 当有有效的唤醒事件时,MCU 会退出停止模式,并从进入模式时暂停的指令处继续执行。
  • 执行流程

    • 唤醒后,MCU 不会重新复位,也不会从主函数 main() 开始,而是直接从调用
       HAL_PWR_EnterSTOPMode()
      的下一行代码继续。

2. 系统时钟在停止模式中的变化

进入停止模式后,MCU 的时钟系统被部分或完全关闭以节省功耗:

  • 主系统时钟(如 HSE 和 PLL)停止运行
  • 低功耗时钟(如 HSI 或 LSI)可能保留,用于唤醒事件源(如 RTC、LPTIM)
  • 唤醒时,MCU 默认使用内部高速时钟(HSI)。

3. 唤醒后为什么需要重新配置时钟?

  • 唤醒后,虽然 MCU 从停止的地方继续执行,但默认的系统时钟可能已经发生了变化:

    • 系统时钟切换为 HSI(默认 8 MHz)。
    • 如果应用需要更高的时钟频率(如 PLL 运行在 72 MHz)或外部时钟(如 HSE),需要重新配置。
  • 直接执行代码的影响:

    • 许多外设(如 UART、SPI 等)依赖于特定的时钟频率。默认切换到 HSI 后,这些外设可能无法正常工作。
    • 因此,唤醒后立即调用 SystemClock_Config(),恢复系统时钟到应用预期的状态。


http://www.ppmy.cn/news/1555995.html

相关文章

C#—泛型约束

C#—泛型约束 概念: 泛型约束就是告知编译器类型参数必须具备的功能。 在没有任何约束的情况下,类型参数可以是任何类型。 编译器只能假定 System.Object 的成员,它是任何 .NET 类型的最终基类。当分配给泛型的类型参数不满足约束的类型时&…

RabbitMQ中的Work Queues模式

在现代分布式系统中,消息队列(Message Queue)是实现异步通信和解耦系统的关键组件之一。RabbitMQ 是一个广泛使用的开源消息代理软件,支持多种消息传递模式。其中,Work Queues(工作队列)模式是一…

nginx问题总结

问题记录: 默认网络下部署nginx,挂载nginx.conf文件,提示:nginx: [emerg] host not found in upstream "shop" in /etc/nginx/nginx.conf:29。nginx配置内容: location /api {rewrite /api/(.*) /$1 break;…

Web身份认证 --- Session和JWT Token

Web 身份认证 --- Session和JWT Token 方法一: 通过使用Session进行身份认证方法二: 通过JWT token进行身份认证什么是JWTJWT完整流程JWT攻防JWT 如何退出登录JWT的续签 方法一: 通过使用Session进行身份认证 用户第一次请求服务器的时候,服务器根据用户提交的相关信…

自动化高架仓库中托盘状态精准监控的解决方案

在自动化高架仓库的高效运作背后,隐藏着一些亟待解决的技术难题。其中,货架的稳定性及托盘的精确定位问题,对整个仓库的作业效率和安全性有着至关重要的影响。 自动化高架仓库中的货架大多由钢结构或钢框架构成,初看之下&#xf…

Android之RecyclerView显示数据列表和网格

一、RecyclerView的优势 RecyclerView 的最大优势在于,它对大型列表来说非常高效: 默认情况下,RecyclerView 仅会处理或绘制当前显示在屏幕上的项。例如,如果您的列表包含一千个元素,但只有 10 个元素可见&#xff0…

JavaScript学习难点

一、语法的灵活性 动态类型: JavaScript 是一种动态类型语言,这意味着变量的类型可以在运行时改变。这与静态类型语言(如 Java、C)形成鲜明对比,在静态类型语言中,变量的类型在编译时就已经确定。 例如&am…

ChatGPT推出视频通话及屏幕理解功能,近屿智能邀您共探AI前沿技术

北京时间12月13日凌晨,OpenAI在第六天直播活动中宣布为 ChatGPT 的高级语音模式带来视频输入和屏幕理解功能,同时,为了迎接即将到来的圣诞节,OpenAI还限时推出了充满节日氛围的圣诞老人模式。 直播一开场,几位团队成员…