Arduino向ESP32发送信息并接收ESP32返回的信息,并给出几个例子
时间: 2023-06-09 21:02:49 浏览: 795
好的,我明白你的问题了。以下是几个例子:
1. 发送字符串 "Hello, ESP32!" 到 ESP32,然后接收并打印回复信息:
```
void setup() {
Serial.begin(9600); // 初始化串口
}
void loop() {
Serial.println("Sending message...");
Serial1.println("Hello, ESP32!"); // 向 ESP32 发送消息
while(!Serial1.available()); // 等待 ESP32 回复
String response = Serial1.readString(); // 读取回复
Serial.println("Received response: " + response);
}
```
2. 发送数字 42 到 ESP32,然后接收并打印回复信息:
```
void setup() {
Serial.begin(9600); // 初始化串口
}
void loop() {
Serial.println("Sending message...");
Serial1.write(42); // 向 ESP32 发送数字
while(!Serial1.available()); // 等待 ESP32 回复
int response = Serial1.read(); // 读取回复
Serial.println("Received response: " + String(response));
}
```
3. 发送一个包含多个数据的数组到 ESP32,然后接收并打印回复信息(需要使用自定义协议):
```
void setup() {
Serial.begin(9600); // 初始化串口
}
void loop() {
Serial.println("Sending message...");
byte data[] = {1, 2, 3, 4}; // 要发送的数据数组
Serial1.write(data, sizeof(data)); // 向 ESP32 发送数据数组
while(!Serial1.available()); // 等待 ESP32 回复
byte response[4]; // 用来存储回复的数据数组
Serial1.readBytes(response, sizeof(response)); // 读取回复
Serial.print("Received response: ");
for(int i=0; i<sizeof(response); i++) {
Serial.print(response[i]);
Serial.print(" ");
}
Serial.println();
}
```
这些例子展示了如何使用 Arduino 和 ESP32 进行简单的串口通信。你可以根据自己的需求,进一步自定义协议并实现更复杂的通信。
阅读全文