📅  最后修改于: 2023-12-03 15:29:27.564000             🧑  作者: Mango
Arduino Serial库是用于与串口通信的标准库之一。其中,Serial.read()和Serial.write()是常用的方法之一。Serial.read()函数允许从串口读取来自其他设备的数据,而Serial.write()函数允许将数据发送到其他设备。
int Serial.read()
Serial.read()函数从Serial对象中读回一个字节的数据。该函数返回读入的字节;如果没有数据可用,则返回-1。此函数仅在串口接收数据时有效。
int incomingByte = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
if (Serial.available() > 0) {
incomingByte = Serial.read();
Serial.print("I received: ");
Serial.println(incomingByte, DEC);
}
}
在上面的示例中,如果串口接收到了数据,则使用Serial.read()函数读取一个字节,并将其存储到incomingByte变量中。从incomingByte中读取的数据将被打印到串口监视器中,前缀为“I received:”。
size_t Serial.write(uint8_t)
size_t Serial.write(const uint8_t*, size_t)
Serial.write()函数将一个字节或一串字节写入Serial对象。如果一个字节被写入,则函数返回1;如果一串字节被写入,则返回写入的字节数。该函数用于将数据发送到其他设备。
void setup() {
Serial.begin(9600);
}
void loop() {
char hello[] = "Hello, world!";
Serial.write(hello, sizeof(hello));
}
在上面的示例中,字符串“Hello, world!”将被通过串口发送给其他设备。我们使用sizeof(hello)作为串口写入函数的第二个参数,以确保所有内容都被发送,而不仅仅是字符串的长度。