Arduino 发送接收多数据位的串口信息代码
时间: 2024-03-12 13:44:41 浏览: 20
以下是一个简单的 Arduino 串口发送接收多数据位信息的示例代码:
发送端代码:
```
void setup() {
Serial.begin(9600); // 初始化串口通信,波特率设置为9600
}
void loop() {
int data = 12345; // 待发送的数据
Serial.write((byte*)&data, sizeof(data)); // 将数据转换为字节流并发送
delay(1000); // 发送间隔时间为1秒
}
```
接收端代码:
```
void setup() {
Serial.begin(9600); // 初始化串口通信,波特率设置为9600
}
void loop() {
if (Serial.available() >= sizeof(int)) { // 如果串口接收到的数据长度大于等于一个 int 类型的长度
int data;
Serial.readBytes((byte*)&data, sizeof(data)); // 读取接收到的字节流并转换为 int 类型
Serial.print("Received data: ");
Serial.println(data); // 打印接收到的数据
}
}
```
在发送端代码中,将待发送的数据转换为字节流并通过 `Serial.write()` 函数发送。注意要使用指针将数据的地址转换为 byte 类型的指针。
在接收端代码中,使用 `Serial.available()` 函数判断接收到的数据长度是否大于等于一个 int 类型的长度。如果是,就通过 `Serial.readBytes()` 函数读取接收到的字节流并转换为 int 类型。最后通过 `Serial.println()` 函数打印接收到的数据。