[Résolu] Mise en sommeil = fonction loop continue ?

Dans ton code, le µC se met en mode veille après l'instruction
sleep_mode();pendant un certain temps (comme le fût du canon) :
The program will continue from here after the WDT timeoutReste à connaitre la valeur de ce timout (WDT : WatchDog Timer) : s'il vaut 10 ms, c'est sûr que tu ne verras rien...

Il existe une instruction qui permet de le régler de 15ms à 8s (exemple ici)

wdt_enable(WDTO_4S);

Il est possible de choisir un réveil par interruption (openclassrooms) :

void wakeCallback() {
    /* rien */
}
 
void sleepPwrDown() {
 
    // Configuration du type de sleep
    set_sleep_mode(SLEEP_MODE_PWR_DOWN);
 
    // Autorisation du mode sleep
    sleep_enable();
     
    // Attachement d'une interruption sur front descendant de INT0
    attachInterrupt(0, wakeCallback, FALLING);
 
    // Activation du mode sleep
    sleep_mode();
     
    // CPU en mode sleep,
    // Attente de l'interruption INT0 qui réveillera le CPU
     
    // Désactivation du mode sleep
    sleep_disable();
     
}