📜  Arduino Serial.read()和Serial.write()

📅  最后修改于: 2020-12-27 03:13:59             🧑  作者: Mango

Arduino Serial.read()和Serial.write()

Arduino Serial.read()

Arduino中的Serial.read()读取Arduino中的传入串行数据。这里使用int数据类型。它返回到达的串行数据的第一个数据字节。当串行端口上没有可用数据时,它还会返回-1。

Arduino编程中使用的语法为Serial.read(),

哪里,

serial :表示串行端口对象。

数据以字节形式存储,其中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);
}
}

上面的代码清楚地说明了Arduino 。

Serial.readString()

它从字符串的串行缓冲区读取传入的串行数据。这里使用String数据类型。

让我们看一个例子。

考虑下面的代码。

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

上面的代码清楚地说明了Serial.readString()用于将串行数据读入字符串。此处指定的字符串是b

在上面的代码中,串行函数的数据作为字符串读取。

Serial.readString()和Serial.read()如何读取串行数据?

Serial.read()函数以字节为单位读取数据,而Serial.readString()以字符串项读取数据。

Serial.write()

它将二进制数据发送到Arduino中的串行端口。通过Serial.write的数据以一系列字节或单个字节的形式发送。数据类型为size_t

Serial.write()函数将返回写入的字节数。

如果我们要送由字符表示数的数字,我们需要使用串行。print()函数代替Serial.write()。

Serial.write()以三种格式声明,如下所示:

  • 写(str)
  • 写(值)
  • 写(缓冲区,len)

哪里,

串行:表示串行端口对象。

str :str表示字符串,它以一系列字节发送数据。

buffer :这是一个数组,用于将数据作为一系列字节发送。

value :将数据作为一个字节发送到Arduino。

len :它表示可以从数组发送的字节数。

让我们用一个简单的例子来理解。

考虑下面的代码。

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