Seryjny.CzytBytes Funkcja w Arduino

Seryjny.CzytBytes Funkcja w Arduino
Seryjny.ReadBytes () to funkcja w Arduino, która umożliwia odczyt określonej liczby bajtów z bufora szeregowego i zapisywanie ich w buforze tablicy. Tę funkcję można użyć do odczytu danych binarnych, takich jak odczyty czujników, z urządzenia zewnętrznego podłączonego do płyty Arduino.

Ta funkcja zakończy się, jeśli zostanie odczytana zdefiniowana długość znaków lub jeśli czas (szeregowy.settimeout ()). Jeśli zwróci 0, oznacza to, że żadne prawidłowe dane są dostępne.

Składnia
Poniżej znajduje się składnia szeregów.funkcja readBytes ():

Seryjny.ReadBytes (bufor, długość)

Parametry

bufor: Tablica bufora do przechowywania otrzymanych bajtów. Dozwolone typy danych to Charray lub Bajt.

długość: Odnosi się to do konkretnej liczby bajtów, które należy pobrać z bufora szeregowego. Dozwolony typ danych jest int.

Zwroty

Liczba bajtów odczytanych z bufora szeregowego.

Przykładowy kod

Następujący kod wyjaśnia użycie szeregów.Funkcja ReadBytes () w Arduino.

const int buffer_size = 50;
char buf [buffer_size];
void setup ()
Seryjny.rozpocząć (9600);
Seryjny.Settimeout (5000); // Ustaw okres czasu na 5000 milisekund (5 sekund)

void Loop ()
// Poczekaj na dane przychodzące
When (serial.Dostępne () == 0)
// nic nie robić

// Przeczytaj przychodzące bajty:
int rlen = szeregowy.ReadBytes (BUF, buffer_size);
// drukuje odebrane dane
Seryjny.Drukuj („Otrzymałem:”);
dla (int i = 0; i < rlen; i++)
Seryjny.druk (buf [i]);

W powyższym kodzie funkcja setup () ustawia okres czasu na 5 sekund za pomocą Seryjny.Settimeout (5000).

W funkcji Loop () program wchodzi w pętlę, która czeka na dane przychodzące, sprawdzając, czy Seryjny.dostępny() jest większy niż 0. To, gdy pętla zapewnia, że ​​program czeka, aż dane będą dostępne przed próbą ich odczytania, i wyjdzie z tego, jak tylko dane zostaną otrzymane.

Po wykryciu danych przychodzących program odczytuje bajty za pomocą szeregów.readBytes () i przechowuje je w BUF szyk. Otrzymane dane są następnie drukowane do monitora szeregowego za pomocą pętli dla iteracji przez tablicę BUF.

Wyjście
Tutaj, na wyjściu, możemy zobaczyć liczbę bajtów odczytanych przez funkcję.

Wniosek

Serial.ReadBytes () to funkcja w Arduino, która umożliwia odczyt określonej liczby bajtów z bufora szeregowego i zapisywanie ich w buforze tablicy. Daje całkowite bajty odczytu lub -1, jeśli nie są dostępne żadne dane i zwróć 0, jeśli nie ma prawidłowego wejścia. Ta funkcja jest powszechnie używana w programach Arduino, które wymagają komunikacji z urządzeniami zewnętrznymi przez połączenie szeregowe.