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

📅  最后修改于: 2023-12-03 15:29:27.564000             🧑  作者: Mango

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

简介

Arduino Serial库是用于与串口通信的标准库之一。其中,Serial.read()和Serial.write()是常用的方法之一。Serial.read()函数允许从串口读取来自其他设备的数据,而Serial.write()函数允许将数据发送到其他设备。

Serial.read()
语法
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:”。

Serial.write()
语法
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)作为串口写入函数的第二个参数,以确保所有内容都被发送,而不仅仅是字符串的长度。

参考文献