logo

Arduino Serial.read( ) i Serial.write( )

Arduino Serial.read( )

The Serial.czytaj( ) w Arduino odczytuje przychodzące dane szeregowe w Arduino. The wew używany jest tutaj typ danych. Zwraca pierwszy bajt danych przychodzących danych szeregowych. Zwraca również -1, gdy na porcie szeregowym nie są dostępne żadne dane.

Składnia używana w programowaniu Arduino to Serial.read(),

Ciąg w formacie Java

Gdzie,

seryjny : Oznacza obiekt portu szeregowego.

Arduino Serial.read() i Serial.write()

Dane są przechowywane w postaci bajtów, gdzie 1 bajt = 8 bitów.

Rozumiemy na przykładzie.

Rozważ poniższy kod.

 int arrivingdatabyte; void setup( ) { Serial.begin(9600); } void loop( ) { if(Serial.available( ) > 0) { arrivingdatabyte = Serial.read( ); // It will read the incoming or arriving data byte Serial.print('data byte received:'); Serial.println(arrivingdatabyte); } } 

Powyższy kod jasno wyjaśnia, że ​​funkcja Serial.available() służy do uzyskania dostępnej liczby bajtów, jeśli jest ona większa od 0. Funkcja Serial.read() odczyta dane z bajtu danych i wyświetli komunikat, jeśli dane jest otrzymywany. Dane są przesyłane z monitora szeregowego do Arduino.

Serial.readString( )

Odczytuje przychodzące dane szeregowe z bufora szeregowego w ciągu znaków. The Strunowy używany jest tutaj typ danych.

Arduino Serial.read( ) i Serial.write( )

Rozumiemy na przykładzie.

Rozważ poniższy kod.

 String b; void setup( ) { Serial.begin(4800); } void loop( ) { while( Serial.available( ) ) { b = Serial.readString( ); Serial.println(b); } } 

Powyższy kod wyraźnie wyjaśnia, że Serial.readString( ) służy do wczytywania danych szeregowych do ciągu znaków. Podany tutaj ciąg to B .

Podciąg Java zawiera

Dane w funkcji Serial są odczytywane jako ciąg znaków w powyższym kodzie.

W jaki sposób dane szeregowe są odczytywane przez Serial.readString() i Serial.read()?

Funkcja Serial.read() odczytuje dane w postaci bajtów, natomiast funkcja Serial.readString() odczytuje dane w postaci ciągu znaków.

Serial.zapis( )

Wysyła dane binarne do portu szeregowego w Arduino. Dane poprzez Serial.write są wysyłane jako seria bajtów lub pojedynczy bajt. Typ danych to rozmiar_t .

jak przekonwertować ciąg na liczbę całkowitą Java

Funkcja Serial.write() zwróci liczbę zapisanych bajtów.

Jeśli chcemy wysłać cyfry liczb reprezentowane przez znaki, musimy użyć funkcji Serial.print( ) zamiast Serial.write( ).

Arduino Serial.read( ) i Serial.write( )

Funkcja Serial.write() jest zadeklarowana w trzech formatach, które przedstawiono poniżej:

  • napisz (str)
  • napisz (wartość)
  • napisz (bufor, len)

Gdzie,

Seryjny : Oznacza obiekt portu szeregowego.

ul : str oznacza ciąg, który wysyła dane jako serię bajtów.

klucz ins

bufor : Jest to tablica używana do wysyłania danych w postaci serii bajtów.

wartość : Wysyła dane do Arduino jako pojedynczy bajt.

tylko : Oznacza liczbę bajtów, które można wysłać z tablicy.

Rozumiemy na prostym przykładzie.

Rozważ poniższy kod.

 void setup( ) { Serial.begin(14400); } void loop( ) { Serial.write(55); // the specified value is 55. // Serial.write( ) send the data as a byte with this value (55). int Bytestosend = Serial.write( ' Arduino' ); // It sends the Arduino string. //The length of the string is a return parameter in this function. }