【发布时间】:2026-01-15 16:10:01
【问题描述】:
我一直在做一个项目,我通过在 C 固件中执行 WFI 指令将 ARM Core M4 移动到 SLEEP 模式。我还希望能够通过串行线引脚将 ARM Core M4 移动到 SLEEP 模式。
M4 中是否有可以写入的寄存器以使其进入休眠模式而不执行 WFI 或 WFE 指令?
或者是否有任何方法可以使用 SWD 进入 SLEEP 模式?
【问题讨论】:
我一直在做一个项目,我通过在 C 固件中执行 WFI 指令将 ARM Core M4 移动到 SLEEP 模式。我还希望能够通过串行线引脚将 ARM Core M4 移动到 SLEEP 模式。
M4 中是否有可以写入的寄存器以使其进入休眠模式而不执行 WFI 或 WFE 指令?
或者是否有任何方法可以使用 SWD 进入 SLEEP 模式?
【问题讨论】:
可以对 SystemControlRegister SCR 进行编程,以便在退出时中断睡眠。如果您的应用程序完全由中断驱动,这可能是一种选择。见:https://developer.arm.com/documentation/dui0552/a/the-cortex-m3-processor/power-management/entering-sleep-mode
【讨论】: