Un altro modo per implementare un timer.

Molto spesso su Internet puoi trovare un "timer per millis" di questo tipo:
if (millis() >= timer) 
     timer = millis() + period; 
      // azione
}
Visivamente, questa costruzione è "più leggera", poiché salva una sottrazione nel ciclo. Ma scorre in modo errato millis(): quando la variabile timer supera uint32_t, millis sarà maggiore di essa fino a quando non andrà in overflow e la condizione sarà true per tutto il tempo. Non utilizzare questo costrutto in progetti che possono essere eseguiti per più di 50 giorni senza essere riavviati. 

Crea il tuo sito web gratis! Questo sito è stato creato con Webnode. Crea il tuo sito gratuito oggi stesso! Inizia