logo

Arduino Serial.read() a Serial.write()

Arduino Serial.read( )

The Serial.read( ) v Arduinu čte příchozí sériová data v Arduinu. The int je zde použit datový typ. Vrací první datový bajt příchozích sériových dat. Vrátí také -1, když na sériovém portu nejsou k dispozici žádná data.

Syntaxe používaná v programování Arduina je Serial.read(),

rozdíl mezi lvem a tygrem

Kde,

seriál : Označuje objekt sériového portu.

Arduino Serial.read() a Serial.write()

Data jsou uložena ve formě bytů, kde 1 byte = 8 bitů.

Pojďme to pochopit na příkladu.

Zvažte níže uvedený kód.

 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); } } 

Výše uvedený kód jasně vysvětluje, že Serial.available() se používá k získání dostupného počtu bajtů, pokud je větší než 0. Funkce Serial.read() načte data z datového bajtu a vytiskne zprávu, pokud data je přijato. Data jsou odesílána ze sériového monitoru do Arduina.

Serial.readString( )

Čte příchozí sériová data ze sériové vyrovnávací paměti v řetězci. The Tětiva je zde použit datový typ.

Arduino Serial.read() a Serial.write()

Pojďme to pochopit na příkladu.

Zvažte níže uvedený kód.

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

Výše uvedený kód jasně vysvětluje, že Serial.readString( ) se používá ke čtení sériových dat do řetězce. Zde uvedený řetězec je b .

Data ve funkci Serial se čtou jako řetězec ve výše uvedeném kódu.

Jak se sériová data čtou pomocí Serial.readString() a Serial.read()?

Funkce Serial.read() čte data v bytech, zatímco funkce Serial.readString() čte data ve formě řetězce.

Serial.write( )

Odesílá binární data na sériový port v Arduinu. Data prostřednictvím Serial.write jsou odesílána jako série bajtů nebo jeden bajt. Datový typ je velikost_t .

string valueof

Funkce Serial.write() vrátí počet zapsaných bajtů.

Pokud chceme odeslat číslice čísel reprezentované znaky, musíme místo Serial.write() použít funkci Serial.print().

Arduino Serial.read() a Serial.write()

Serial.write() je deklarován ve třech formátech, které jsou uvedeny níže:

  • napsat (str)
  • napsat (hodnota)
  • zápis (buffer, len)

Kde,

Seriál : Označuje objekt sériového portu.

str : Str znamená řetězec, který odesílá data jako řadu bajtů.

vyrovnávací paměť : Je to pole, které se používá k odesílání dat jako série bajtů.

hodnota : Odesílá data do Arduina jako jeden bajt.

jen : Označuje počet bajtů, které lze odeslat z pole.

Pojďme to pochopit na jednoduchém příkladu.

Zvažte níže uvedený kód.

 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. }