pablos:
nel millis() non usi l'unsigned è sott'inteso da qualche parte?
Non ho capito questa domanda. Millis() è una funzione predefinita di Arduino che restituisce un unsigned long.
Il suo valore è quindi un 32 bit senza segno.
comunque io ho sempre usato questa
unsigned long Millis_corrente = millis();
if(Millis_corrente - Millis_Precedente > intervallo)
{
Millis_Precedente = Millis_corrente;
...
...
}
che direi sia la stessa, ma ovviamente non ho mai taroccato i valori per vedere che succede, quindi così anche trovandomi vicino al punto 0 non mi salta l'opearzione? parola di lupetto :) :) o devo provare :D ciao
E' lo stesso ma fai uso di una variabile tampone inutile, sprecando quindi 4 byte di SRAM per nulla
Se ottimizzi il controllo così:
if(millis() - Millis_Precedente > intervallo)
{
Millis_Precedente = millis();
...
...
}
ottieni l'identica cosa.
EDIT:
pablos, potresti rispondermi sul thread del leOS?