Arduino Serial.read() и Serial.write()
Arduino Serial.read()
The Serial.read() в Arduino чете входящите серийни данни в Arduino. The вътр тук се използва тип данни. Той връща първия байт данни от пристигащите серийни данни. Той също така връща -1, когато няма налични данни на серийния порт.
Синтаксисът, използван в програмирането на Arduino, е Serial.read(),
Където,
сериен : Означава обекта на сериен порт.
Данните се съхраняват под формата на байтове, където 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 низ тук се използва тип данни.
Нека разберем с пример.
Разгледайте кода по-долу.
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().
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. }