表4.32低功耗模式的编码PM1, PM0描述如下:

  • 00:正如Cortex-M3系统控制寄存器的SLEEPDEEP位所定义,执行WFI或WFE进入睡眠或深度睡眠模式。

  • 01:如果Cortex-M3系统控制寄存器的SLEEPDEEP位为1,则执行WFI或WFE进入掉电模式。

  • 10:保留,不应使用这些设置。

  • 11:如果Cortex-M3系统控制寄存器的SLEEPDEEP位为1,则执行WFI或WFE进入深度掉电模式。

那么,如何从低功耗模式中唤醒呢?任何使能的中断均可将CPU从睡眠模式中唤醒。某些特定的中断可将处理器从深度睡眠模式或掉电模式中唤醒。如果特定的中断使能,则允许中断将CPU从深度睡眠模式或掉电模式中唤醒。唤醒后,将继续执行适当的中断服务程序。这些中断包括NMI、外部中断EINT0到EINT3、GPIO中断、以太网Wake-On-LAN中断、掉电检测中断、RTC报警中断。

如果看门狗定时器由IRC振荡器驱动,则看门狗定时器也可将器件从深度睡眠模式中唤醒。想知道更多关于低功耗无线物联网的唤醒方法吗?请参考这里。使用UART唤醒Kinetis L系列的详细资料也很有趣,具体内容在这里。如果你对STM32Stop模式低功耗及唤醒RTC加中断感兴趣,请查看这篇文章

可以将CPU从深度睡眠或掉电模式中唤醒的其他功能有CAN活动中断(由CAN总线引脚上的活动产生)和USB活动中断(由USB总线引脚上的活动产生)。这些相关的功能必须映射到引脚且对应的中断必须使能才能实现唤醒。更多关于低功耗模式的资料可以在这里找到

外设功率控制寄存器(PCONP – 0x400F C0C4)可通过PCONP寄存器关闭特定外设模块的时钟源来关闭外设,以实现节电的目的。有少数外设功能不能被关闭(看门狗定时器、引脚连接模块和系统控制模块)。这是否激起了你更多的好奇心呢?了解更多细节,请查看这篇文章

在了解了这些信息之后,你是否觉得低功耗技术变得更加神秘又令人向往呢?要知道,这只是冰山一角,更多精彩内容正等着你去探索。