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.