Come funziona la funzione temporale in Arduino?

Come funziona la funzione temporale in Arduino?
Arduino supporta molte funzioni integrate, tra cui alcune correlate al tempo noto anche come funzioni di tempo. Queste funzioni vengono utilizzate per generare un ritardo del tempo nel codice Arduino. Ad esempio, se vogliamo che il LED visualizziamo ripetutamente l'output dopo ogni due o tre secondi, possiamo mettere un ritardo usando le funzioni temporali.

In questo articolo, discuteremo alcune delle funzioni temporali che sono spesso utilizzate nel codice Arduino con l'aiuto di alcuni esempi.

Qual è la funzione temporale in Arduino

Le funzioni temporali in Arduino vengono utilizzate per creare pause nell'output in base al requisito, le importanti funzioni temporali di Arduino sono spiegate in dettaglio.

ritardo(): È la funzione più comunemente usata nella programmazione Arduino, prende il valore intero e genera il ritardo del tempo nel codice dei millisecondi in base al valore intero input. Per comprendere l'applicazione della funzione Delay (), considera questo esempio:

int count = 2;
void setup ()
Seriale.Inizia (9600);

void loop ()
Seriale.stampa ("il valore è stampato dopo");
Seriale.stampa (conteggio);
Seriale.println ("secondi");
count = count+2;
ritardo (2000);

In questo codice, stiamo stampando "il valore è stampato dopo (tempo) secondi". La logica dietro il codice è molto semplice, abbiamo dichiarato una variabile globale "Count = 2" e quindi ci siamo collegati ad Arduino usando la comunicazione seriale a una velocità di boude di 9600. Quindi nel loop void (), abbiamo stampato l'uscita dopo il ritardo di 2000 millisecondi che è pari a 2 secondi (1 secondo = 1000 millisecondi). E anche incrementare il valore del conteggio di 2.

DelayMicroseconds (): Questa funzione funziona in modo simile alla funzione Delay (), ma invece di millisecondi genera il ritardo nei microsecondi. Consideriamo il codice sopra e sostituiamo la funzione di ritardo () con delaymicroseconds ():

int count = 100;
void setup ()
Seriale.Inizia (9600);

void loop ()
Seriale.stampa ("il valore è stampato dopo");
Seriale.stampa (conteggio);
Seriale.println ("microsecondi");
count = count+100;
DelayMicroseconds (100);

Nell'output di cui sopra, abbiamo stampato l'istruzione utilizzando la funzione DelayMicroseconds () e specificato il ritardo di 100 microsecondi. Per visualizzare l'output sull'output del monitor seriale, abbiamo utilizzato la comunicazione seriale con una velocità di baud 9600. Il conteggio variabile viene dichiarato a livello globale con un valore di 100 e in void loop () abbiamo incrementato il suo valore di 100 dopo ogni iterazione.

milli (): La funzione Milli () viene utilizzata per scoprire il tempo di esecuzione in millisecondi fino all'istruzione Milli () Funzione. Per capirlo, considereremo un semplice esempio del seguente codice:

int timr;
void setup ()
Seriale.Inizia (9600);

void loop ()
ritardo (2000);
Seriale.stampa ("il valore del tempo è");
timr = millis ();
Seriale.println (timr);

Durante l'esecuzione riuscita del codice, otteniamo il tempo di esecuzione di ciascuna iterazione nell'output. Abbiamo messo un ritardo di 2000 millisecondi utilizzando la funzione Delay () e abbiamo estratto il tempo di esecuzione in millisecondi usando la funzione Milis (). Il valore restituito dalla funzione Millis () è memorizzato nella variabile TIMR e visualizzato sull'uscita del monitor seriale.

Nota: C'è una differenza nell'output perché alcuni millisecondi sono presi dallo "seriale.funzione println () "e un po 'di tempo è prelevato dall'hardware.

micro (): Questa funzione viene utilizzata per calcolare ed estrarre il tempo di esecuzione del codice fino all'esecuzione di questa funzione. Ad esempio, scriviamo un codice semplice, in cui inseriamo il ritardo di 2000 millisecondi utilizzando la funzione Delay () e calcoliamo il tempo in microsecondi usando il codice:

int timr;
void setup ()
Seriale.Inizia (9600);

void loop ()
ritardo (2000);
Seriale.stampa ("il valore del tempo è");
timr = micros ();
Seriale.println (timr);

Lo script sopra è semplice da capire. Abbiamo collegato Arduino al computer usando la comunicazione seriale a una velocità di trasporto di 9600. Nel loop void (), abbiamo generato un ritardo di 2000 millisecondi usando la funzione Delay (), estrarre il tempo di esecuzione in microsecondi usando la funzione Micro (), memorizzare i risultati nella variabile "TIMR" e stampato sul seriale Monitorare l'output.

Conclusione

In Arduino, le funzioni del tempo vengono utilizzate per generare ritardi e pause nel codice o nell'output. Possiamo usare queste funzioni temporali per generare o mettere in pausa il lampeggio dei LED. Possiamo anche scoprire il tempo di esecuzione del codice utilizzando le funzioni temporali. In questo articolo, abbiamo spiegato le funzioni di tempo più comunemente usate in Arduino e le abbiamo spiegate con alcuni semplici esempi.