使用 M0+ 内核的 ARM 等待中断专用指令,WFI(Waitfor Interrupt),配合 M0+ 内核的系统控制寄存器(SCR,SystemControl Register)的 SLEEPONEXIT 和 SLEEPDEEP 位域,可实现立即进入或退出(中断服务程序)时进入休眠模式或深度休眠模式。
• 立即进入执行 WFI 指令,MCU 将立即进入休眠模式(SLEEPDEEP 为 0 时)或深度休眠模式(SLEEPDEEP 为 1 时)
• 退出时进入将 SLEEPONEXIT 位置 1,当退出最低优先级的中断服务程序后,MCU 会进入休眠模式(SLEEPDEEP 为 0 时)或深度休眠模式(SLEEPDEEP 为 1 时),而不需执行 WFI 指令 。
|