Jak działa funkcja czasowa w Arduino?

Jak działa funkcja czasowa w Arduino?
Arduino obsługuje wiele wbudowanych funkcji, wśród nich niektóre są związane z czasem znanym również jako funkcje czasowe. Funkcje te służą do generowania opóźnienia w kodzie Arduino. Na przykład, jeśli chcemy, aby LED wyświetlała dane wyjściowe wielokrotnie co dwa lub trzy sekundy, możemy odłożyć opóźnienie za pomocą funkcji czasowych.

W tym artykule omówimy niektóre funkcje czasowe, które są często używane w kodzie Arduino za pomocą niektórych przykładów.

Jaka jest funkcja czasu w Arduino

Funkcje czasowe w Arduino są używane do tworzenia przerwy w wyjściu zgodnie z wymaganiami, ważne funkcje czasowe Arduino są szczegółowo wyjaśnione.

opóźnienie(): Jest to najczęściej używana funkcja w programowaniu Arduino, przyjmuje wartość całkowitą i generuje opóźnienie czasu w kodzie milisekund zgodnie z wartością liczb całkowitych wejściowych. Aby zrozumieć zastosowanie funkcji opóźnienia (), rozważ ten przykład:

int count = 2;
void setup ()
Seryjny.rozpocząć (9600);

void Loop ()
Seryjny.drukuj („wartość jest drukowana po”);
Seryjny.wydrukuj (liczba);
Seryjny.println („sekundy”);
Count = Count+2;
Opóźnienie (2000);

W tym kodzie drukujemy „wartość jest drukowana po (czasach) sekundach”. Logika stojąca za kodem jest bardzo prosta, zadeklarowaliśmy zmienną globalną „Count = 2”, a następnie podłączyliśmy do Arduino za pomocą komunikacji szeregowej z prędkością Boude 9600. Następnie w pętli void () wydrukowaliśmy wyjście po opóźnieniu 2000 milisekund, co jest równe 2 sekundom (1 sekunda = 1000 milisekund). A także zwiększ wartość liczby o 2.

opóźnieniemicroseconds (): Ta funkcja działa podobnie do funkcji opóźnienia (), ale zamiast milisekund generuje opóźnienie w mikrosekundach. Rozważmy powyższy kod i wymień funkcję DelayMicroseconds () opóźnienie ():

int count = 100;
void setup ()
Seryjny.rozpocząć (9600);

void Loop ()
Seryjny.drukuj („wartość jest drukowana po”);
Seryjny.wydrukuj (liczba);
Seryjny.println („Microsekunds”);
Count = Count+100;
opóźniające się (100);

W powyższym wyjściu wydrukowaliśmy instrukcję, używając funkcji opóźnienia. Aby wyświetlić dane wyjściowe na wyjściu monitu szeregowego, wykorzystaliśmy komunikację szeregową z szybkością 9600. Zmienna liczba jest deklarowana globalnie o wartości 100, a w Void Loop () zwiększyliśmy jego wartość o 100 po każdej iteracji.

mili(): Funkcja Milli () służy do znalezienia czasu wykonywania w milisekund do instrukcji funkcji Milli (). Aby to zrozumieć, rozważymy prosty przykład następującego kodu:

int timr;
void setup ()
Seryjny.rozpocząć (9600);

void Loop ()
Opóźnienie (2000);
Seryjny.druk („wartość czasu to”);
timr = millis ();
Seryjny.println (TIMR);

Po pomyślnym wykonaniu kodu otrzymujemy czas wykonywania każdej iteracji w wyjściu. Opóźniliśmy 2000 milisekund przy użyciu funkcji opóźnienia () i wyodrębniliśmy czas wykonywania w milisekundach za pomocą funkcji Millis (). Wartość zwrócona przez funkcję Millis () jest przechowywana w zmiennej TIMR i wyświetlana na wyjściu monitorza szeregowego.

Notatka: Istnieje różnica w wyniku, ponieważ kilka milisekund jest przyjmowane przez „szeregowy.Funkcja println () ”i trochę czasu na sprzęt.

Micro (): Ta funkcja służy do obliczania i wyodrębnienia czasu wykonywania kodu do wykonania tej funkcji. Na przykład piszemy prosty kod, w którym stawiamy opóźnienie 2000 milisekund za pomocą funkcji opóźnienia () i obliczamy czas w mikrosekundach za pomocą kodu:

int timr;
void setup ()
Seryjny.rozpocząć (9600);

void Loop ()
Opóźnienie (2000);
Seryjny.druk („wartość czasu to”);
timr = micros ();
Seryjny.println (TIMR);

Powyższy skrypt jest łatwy do zrozumienia. Podłączyliśmy Arduino z komputerem za pomocą komunikacji szeregowej z szybkością BAUD 9600. W Void Loop () wygenerowaliśmy opóźnienie 2000 milisekund przy użyciu funkcji opóźnienia (), wyodrębnia czas wykonywania w mikrosekundach za pomocą funkcji micros (), przechowuj wyniki w zmiennej „TIMR” i wydrukowaliśmy ją na szeregowym Monitorowanie wyjściowe.

Wniosek

W Arduino funkcje czasowe są używane do generowania opóźnień i przerw w kodzie lub wyjściu. Możemy użyć tych funkcji czasowych do generowania lub zatrzymania się w miastaniu diod LED. Możemy również znaleźć czas wykonywania kodu za pomocą funkcji czasowych. W tym zapisie wyjaśniliśmy najczęściej używane funkcje czasowe w Arduino i wyjaśniliśmy je kilkoma prostymi przykładami.