Seryjny.Settimeout () - Arduino
Serial.Funkcja Settimeout () w Arduino służy do ustawiania maksymalnego czasu w milisekundach, że program będzie czekać na dane szeregowe. Domyślnie ustawiony limit czasu wynosi 1000 milisekund. Serial.Funkcja settimeout () pochodzi z klasy strumieniowej w Arduino, która zapewnia zestaw wspólnych sposobów pracy z wejściami/wyjściami.
Serial.Funkcja settimeout () jest przydatna podczas pracy z powolnymi lub niewiarygodnymi połączeniami.
Składnia
Składnia seryjna.Funkcja settimeout () to:
Seryjny.Settimeout (czas)
Parametry
Używać seryjnego.settimeout (), musisz podać obiekt portu szeregowego jako pierwszy parametr, a czas trwania limitu czasu w milisekundach jako drugi parametr. Czas trwania można wyrazić jako długi typ danych.
Wartość okresu czasu wynosi w milisekundach (MS). Ta wartość limitu czasu jest długa, która zaczyna się od 1 i wzrasta do 4294967295 milisekund.
Zwroty
Ta funkcja nie zwraca żadnej wartości.
Seryjny.gettimeout () - Arduino
Serial.funkcja gettimeout () zwraca bieżący okres czasu na komunikację szeregową. Można go użyć do określenia bieżącego okresu czasu lub przywrócenia domyślnego okresu czasu.
Składnia
Składnia seryjna.Funkcja gettimeout () to:
Seryjny.gettimeout (czas);
Parametry
Ta funkcja nie przyjmuje żadnych parametrów.
Zwroty
Ta funkcja zwraca ustawową wartość limitu czasu, która jest domyślnie 1000ms i można ją zmienić za pomocą serialu.gettimeout (). Typ danych wartości zwracania jest bez podpisu długie.
Przykładowy kod
W poniższym przykładzie otrzymujemy bieżący okres czasu za pomocą szeregu.funkcja gettimeout (). Następnie drukujemy okres czasu na monitorze szeregowym. Następnie zmieniliśmy okres czasu na 5 sekund, a następnie wydrukowaliśmy go ponownie na monitorze szeregowym.
void setup ()
Seryjny.rozpocząć (9600); // Zainicjuj komunikację szeregową przy 9600 bitach na sekundę
niepodpisany długi defaultTimeout = serial.gettimeout (); // Uzyskaj domyślny okres czasu
Seryjny.Drukuj („Domyślny okres czasu wynosi:”);
Seryjny.println (defaultTimeout); // Wydrukuj domyślny okres czasu na monitor szeregowy
Seryjny.Settimeout (5000); // Ustaw okres czasu na 5000 milisekund (5 sekund)
niepodpisany długi limit czasu = szeregowy.gettimeout (); // Uzyskaj bieżący okres czasu
Seryjny.Drukuj („Obecny okres czasu wynosi:”);
Seryjny.println (limit czasu); // Wydrukuj bieżący okres czasu na monitor szeregowy
void Loop ()
W powyższym kodzie organizować coś() Funkcja inicjuje komunikację szeregową przy 9600 bitach na sekundę i otrzymuje domyślny okres limitu czasu za pomocą szeregów.funkcja gettimeout (). Domyślny okres limitu czasu jest następnie wyświetlany na monitorze szeregowym.
Następnie serial.Funkcja Settimeout () służy do ustawienia nowego okresu czasu na 5 sekund (5000 milisekund).
Funkcja pętli () pobiera następnie bieżący okres czasu za pomocą szeregowego.funkcja gettimeout () i wyświetla ją na monitorze szeregowym. Opóźnienie 1 sekundy dodaje się przed wydrukowaniem następnej wartości, aby zapobiec zalaniu monitora szeregowego danymi. Ten kod można użyć do sprawdzenia, czy okres czasu jest ustawiony prawidłowo i że szereg seryjny.Funkcja gettimeout () działa zgodnie z oczekiwaniami.
Wyjście
W wyjściu możemy zobaczyć zarówno domyślny limit czasu, jak i nowy limit czasu jest drukowana na monitor szeregowych.
Wniosek
Seryjny.settimeout () I Seryjny.gettimeout () Funkcje są ważnymi funkcjami użytkowymi w języku Arduino. Seryjny.Settimeout () ustawia maksymalny czas w milisekundach, że program będzie czekać na dane szeregowe, podczas gdy szeregowy.gettimeout () pobiera bieżący okres czasu. Funkcje te są przydatne do pracy z urządzeniami zewnętrznymi, które nie zawsze dostarczają danych w określonym ramie czasowym.