低功耗模式下的变量

Posted

技术标签:

【中文标题】低功耗模式下的变量【英文标题】:Variables in low power modes 【发布时间】:2021-10-29 22:07:42 【问题描述】:

我想知道 STM32 单片机进入低功耗模式或退出后,变量及其内容会发生什么?例如处于睡眠模式或待机状态。 他们的内容会被删除还是保留下来?

最好的!

【问题讨论】:

如果 RAM 内容丢失,低功耗模式不会很有用:) 参考手册中描述了一切。每个模型都有不同的内存布局,您可以设置是否保留一些 RAM 区域。 @0___________ 您知道内部 RAM 丢失数据的许多微控制器低功耗状态吗?根据我的经验,我没有见过任何人。有趣的是,您使用的系统可以重新初始化 RAM:) 这与其说是一种低功耗模式,不如说是“将其关闭并再次打开”。 @MartinJames do you know of many microcontroller low-power states where the internal RAM loses data? 是的,如果程序员决定他愿意,所有的 STM32。 【参考方案1】:

您可以保留或不保留 - 通常(取决于模式)取决于程序员。内存非常耗电,因此唤醒后重新初始化 RAM 更节能(我有时在我的项目中这样做)

示例:STM32L476:

【讨论】:

那么这是否意味着SRAM只能在待机模式下丢失? @WeatherVane 没有。你可以控制它。如果您禁用 SRAMx 时钟,它将关闭。 我明白了,注 3。那么问题的答案是“除非程序员专门禁用 SRAM,否则变量仍然存在”?除了待机,“禁用”是默认设置。 非常感谢!有什么方法可以强制编译器在我声明变量时使用例如 SRAM1 来存储变量?(通过这种方式,我只想打开两个 SRAM 中的一个)。 @Amin-nano-sys,当然有。学习链接器脚本。

以上是关于低功耗模式下的变量的主要内容,如果未能解决你的问题,请参考以下文章

STM32中用 stop 模式 配合低功耗模式下的自动唤醒(AWU) 能否实现FreeRTOS tickless 模式

STM32低功耗模式与烟雾报警器触发信号电路设计

msp430各种低功耗模式有啥区别

单片机低功耗和休眠模式的区别是啥呀?十分感谢!

msp430在线仿真,进入低功耗模式后,能用进行外部中断吗?

STM32低功耗模式实践