Modos de bajo consumo
La escalera de niveles de sueño de un microcontrolador: cada peldaño hacia abajo ahorra corriente y alarga el camino de vuelta.
En Cortex-M, la instrucción WFI detiene el reloj del núcleo hasta que llega una interrupción; con el bit SLEEPDEEP activado se apaga también la mayoría de periféricos. Los fabricantes añaden sus propios niveles. En STM32 se llaman Sleep, Stop y Standby: Stop conserva la RAM pero apaga el oscilador principal, Standby pierde casi todo salvo el reloj de tiempo real y unos pocos registros de respaldo. La corriente baja de miliamperios a una fracción de microamperio.
La factura llega al despertar. Desde el nivel más profundo es en la práctica un reinicio, así que el programa vuelve a pasar por el código de arranque y tiene que deducir de los registros de respaldo que no se trata de un encendido normal. Además, el depurador suele perder la conexión, lo que convierte los fallos del código de sueño en un género propio.