Arduino Serial.read() и Serial.write()

Arduino Serial.read() и Serial.write()

Arduino Serial.read()

The Serial.read() в Arduino чете входящите серийни данни в Arduino. The вътр тук се използва тип данни. Той връща първия байт данни от пристигащите серийни данни. Той също така връща -1, когато няма налични данни на серийния порт.

Синтаксисът, използван в програмирането на Arduino, е Serial.read(),

Където,

сериен : Означава обекта на сериен порт.

Arduino Serial.read() и Serial.write()

Данните се съхраняват под формата на байтове, където 1 байт = 8 бита.

Нека разберем с пример.

Разгледайте кода по-долу.

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

Горният код ясно обяснява, че Serial.available() се използва за получаване на наличния брой байтове, ако е по-голям от 0. Функцията Serial.read() ще прочете данните от байта с данни и ще отпечата съобщение, ако данните се получава. Данните се изпращат от серийния монитор към Arduino.

Serial.readString()

Той чете входящите серийни данни от серийния буфер в низа. The низ тук се използва тип данни.

Arduino Serial.read() и Serial.write()

Нека разберем с пример.

Разгледайте кода по-долу.

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

Горният код ясно обяснява, че Serial.readString() се използва за четене на серийните данни в низа. Посоченият тук низ е b .

Данните във функцията Serial се четат като низ в горния код.

Как серийните данни се четат от Serial.readString() и Serial.read()?

Функцията Serial.read() чете данните в байтове, докато Serial.readString() чете данните в низ.

Serial.write()

Той изпраща двоичните данни към серийния порт в Arduino. Данните чрез Serial.write се изпращат като поредица от байтове или един байт. Типът данни е размер_т .

Функцията Serial.write() ще върне броя на записаните байтове.

Ако искаме да изпратим цифрите на числата, представени от знаците, трябва да използваме функцията Serial.print() вместо Serial.write().

Arduino Serial.read() и Serial.write()

Serial.write() се декларира в три формата, които са показани по-долу:

  • пиша (str)
  • запис (стойност)
  • запис (буфер, len)

Където,

Сериен : Означава обекта на сериен порт.

ул : str означава низ, който изпраща данните като поредица от байтове.

буфер : Това е масив, който се използва за изпращане на данните като поредица от байтове.

стойност : Изпраща данните към Arduino като един байт.

само : Означава броя на байтовете, които могат да бъдат изпратени от масива.

Нека разберем с прост пример.

Разгледайте кода по-долу.

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