📅  最后修改于: 2020-12-27 03:13:59             🧑  作者: Mango
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 。
它从字符串的串行缓冲区读取传入的串行数据。这里使用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()以字符串项读取数据。
它将二进制数据发送到Arduino中的串行端口。通过Serial.write的数据以一系列字节或单个字节的形式发送。数据类型为size_t 。
Serial.write()函数将返回写入的字节数。
如果我们要送由字符表示数的数字,我们需要使用串行。print()函数代替Serial.write()。
Serial.write()以三种格式声明,如下所示:
哪里,
串行:表示串行端口对象。
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.
}