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