低功耗嵌入式系统的设计与实现
1. 低功耗模式相关宏定义与指令
在低功耗模式的激活以及自发事件的生成方面,我们定义了包含单条内联汇编指令的宏,如下所示:
#define POW_CR_PDDS (1 << 1)
#define POW_CR_LPDS (1 << 0)
#define POW_SCR_WUF (1 << 0)
#define POW_SCR_EWUP (1 << 4)
#define WFI() asm volatile ("wfi")
#define WFE() asm volatile ("wfe")
-
WFI:若通过WFI进入睡眠模式,系统会暂停执行,直到下一个中断到来。 -
WFE:使用WFE进入睡眠模式时,只有选定的事件才能唤醒系统。当进入WFE时,NVIC 中所有活跃的中断仍会被视为事件,从而唤醒WFE调用。可以通过在 NVIC 中禁用相应的 IRQ 线来临时过滤中断。
2. 停止模式(Stop Mode)
当 SCB_SCR_SLEEPDEEP 保持关闭时,每次调用 WFI 或 WFE 指令,系统默认进入睡眠模式。通过启用 SLEEPDEEP </
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



