Ten zapis kompiluje serial.funkcja readBytesuntil () dogłębnie. Omówimy, co to jest, jak to działa, i omówimy kod Arduino, który wyjaśnia, jak go używać w kodzie Arduino.
Seryjny.ReadByteSuntil ()
Serial.Funkcja ReadByteSuntil () jest częścią klasy szeregowej Arduino. Ta funkcja odczytuje dane ze strumienia, dopóki nie znajdzie określonego znaku lub maksymalnej liczby bajtów. Po znalezieniu znaku lub maksymalnej liczbie bajtów funkcja przestaje odczytać i zwraca przeczytane dane.
Serial.Funkcja ReadByteSuntil () kończy się, gdy spełniane są następujące warunki:
Ta funkcja nie zwraca znaku terminatora, który zwraca dane tylko do ostatniego znaku przed terminatorem. Po zwróceniu tej funkcji 0 oznacza, że nie znaleziono prawidłowych danych.
Składnia
Serial.Funkcja ReadByteSuntil () ma następującą składnię:
Seryjny.ReadByteSuntil (Char Terminator, Char* Bufor, Size_t Długość);
Parametry
Poniżej znajdują się parametry funkcji szeregowej.ReadByteSuntil ():
Powrót
Liczba bajtów umieszczonych w buforze.
Uwagi: W zamian dane terminatora jest odrzucane przez szereg funkcji.ReadByteSuntil () ze strumienia danych.
Przykład kodu Arduino
Po kodzie Arduino wyjaśnij użycie Seryjny.ReadByteSuntil () funkcjonować:
void setup ()
Seryjny.rozpocząć (9600); // Zainicjuj połączenie szeregowe z szybkością transmisji 9600
void Loop ()
Bufor bajtowy [5]; // Zdefiniuj tablicę bajtów do przechowywania danych przychodzących
int numBytes = szeregowy.ReadByteSuntil („\ n”, bufor, 5); // odczytaj dane przychodzące z połączenia szeregowego, aż do napotkania nowej postaci
if (numBytes> 0) // Sprawdź, czy czytane są bajty
Seryjny.Drukuj („Otrzymana postać:”);
Seryjny.Write (bufor, numBytes); // Wydrukuj otrzymane dane do monitora szeregowego
Seryjny.println ();
W stawce BAUD funkcji Setup () ustanowi komunikację szeregową.
W funkcji Loop () najpierw definiujemy nazywane tablicę bajtów 'bufor'. Ta tablica zostanie wykorzystana do przechowywania przychodzących odczytu danych z połączenia szeregowego.
Następnie nazywamy Seryjny.ReadByteSuntil () Funkcja, która odczytuje przychodzące dane z połączenia szeregowego, aż napotknie nową znak („\ n”). Następny argument to długość bufora, który na raz wymaga maksymalnie 5 bajtów danych.
Zwrócony bajt jest przechowywany w „Numbytes” zmienny. W przypadku, gdy otrzymane dane są większe niż długość bufora, dane zostaną zakończone i zostaną wysłane w następnym strumieniu danych.
Wyjście
Wniosek
Seryjny.ReadByteSuntil () Funkcja w programowaniu Arduino odczytuje bajty z szeregowego strumienia wejściowego, aż do odbierania określonego znaku terminatora. Funkcja daje całkowite bajty odczytujące i przechowuje je w dostarczonym buforze. Przeczytaj artykuł, aby uzyskać więcej informacji związanych z serialem.funkcja readByteSuntil ().