CPU
我们知道,在Cortex-M系列单片机中一共定义了两种低功耗模式,分别是睡眠模式和深度睡眠模式,两者的区别主要在供电上。
睡眠模式主要做的就是关闭CPU上运行的大部分时钟以节省功耗。当然,有些时钟还是要保持运行的,例如SysTick和NVIC。由于仅仅是关闭了时钟而没有切断电源,所以降低的主要是动态功耗部分,对静态功耗没有影响,但是唤醒速度也是最快的。需要将SLEEPDEEP位置为0。
深度睡眠模式采取的策略更为激进,通过切断CPU的大部分电源以节省功耗。为了保持CPU的运行状态,一些寄存器和逻辑电路将不会被切断电源。在深度睡眠模式下,NVIC的工作将移至WIC进行,后者可在前者被断电后继续保持运行,并在中断来临时唤醒整个CPU。深度睡眠模式进一步削减了静态功耗,代价是更长的唤醒时间。需要将SLEEPDEEP位置为1。