He visto varios ejemplos de código de dormir un AVR donde hacen esto:
while (1) {
// Business logic goes here
set_sleep_mode(SLEEP_MODE_PWR_DOWN);
sleep_enable();
sleep_cpu();
sleep_disable();
}
Ahora, mi pregunta es, ¿por qué están configurando el modo de suspensión en el ciclo? ¿No puedes hacer esto una vez durante la configuración y terminar con esto? ¿O algo cambiaría el modo de suspensión durante el tiempo de ejecución? (¿Fantasma en la máquina?)
Nota: Sé que el sleep_cpu () debe estar en el lopp while. Me pregunto por qué o por qué no la línea
set_sleep_mode(SLEEP_MODE_PWR_DOWN);
tiene que estar dentro del bucle while.