Quote ---->
Soluzione 2
Un’altra soluzione al problema, suggerita dall’utente lesto del forum di arduino.cc, può essere quella di invertire il controllo con l’intervallo. Normalmente nel codice si esegue un controllo di questo tipo:
MILLIS + INTERVALLO > TEMPO_PRECEDENTE
questo tipo di controllo, come detto, ricade nel campo di pertinenza dell’overflow di millis.
Si può usare invece un controllo come il seguente:
MILLIS - TEMPO_PRECEDENTE > INTERVALLO
In questo modo la differenza fra il valore fornito da millis() e la precedente registrazione sarà sempre un numero compreso fra 0 ed intervallo.
Quote ---->
Praticamente questa soluzione (che mi piace di più), è quella anche adottata da BlinkWithoutDelay negli esempi di arduino....
Bastava dirlo subito !!!
![]()
Saluti