Funzione delay().
La funzione di tempo più semplice da utilizzare è il delay(): il programma si blocca all'interno della funzione di delay(time)
e attende il tempo specificato. Il delay()
ti consente di organizzare in modo molto comodo e visivo il lavoro di un semplice programma "single-tasking", abbiamo due opzioni per i delay():
delay(time):
- Ritardo del numero specificato di millisecondi (ms). 1 secondo = 1'000 ms.
- time - accetta un tipo di dati unsigned long e può sospendere l'esecuzione da 1 a 4.294.967.295 ms (~50 giorni) con una risoluzione di 1 ms.
- Funziona sul timer di sistema, quindi non funziona all'interno di un interrupt e quando gli interrupt sono disabilitati.
delayMicroseconds(time):
- Ritardo del numero specificato di microsecondi (µs). 1 secondo = 1'000'000 µs.
- time - accetta un tipo di dati unsigned int e può sospendere l'esecuzione da 4 a 16383 µs (sì, inferiore al massimo per questo tipo di dati) con una risoluzione di 4 µs.
- Non funziona su un timer, ma saltando i cicli del processore, quindi può funzionare in un interrupt e con gli interrupt disabilitati.
- A volte non funziona correttamente con le variabili, quindi dovresti provare a usare le costanti (const o solo un numero).
- Spesso utilizzato nelle biblioteche per emulare le interfacce di comunicazione digitale.
I delay() sono molto facili da usare, ad esempio:
void setup()
{
}
void loop()
{
// fare qualcosa
delay(500);
// aspetta mezzo secondo
}
Pensare in delay() è un grosso problema per i principianti. È impossibile organizzare il lavoro di un programma complesso utilizzando un delay(), quindi considereremo strumenti più utili in seguito.