uno开发板向LILYGOA T-DISPLAY S3开发板用IIC通信,发送一串字符串,然后LILYGOA T-DISPLAY S3开发板接收uno开发板发送过来的字符串并在显示屏上显示内容
时间: 2024-03-16 18:46:42 浏览: 59
基于unity3D串口通信程序,可以实现发送接收。C#编写。
好的,这是一个比较具体的技术问题。你需要在 Uno 开发板上使用 Wire 库来实现 I2C(IIC)通信,并发送字符串数据。具体步骤如下:
1.连接 Uno 开发板和 LILYGOA T-DISPLAY S3 开发板的 I2C 接口。Uno 开发板的 SDA 和 SCL 引脚分别连接到 LILYGOA T-DISPLAY S3 开发板的 SDA 和 SCL 引脚。
2.在 Uno 开发板上编写发送数据的代码,如下所示:
```c++
#include <Wire.h>
void setup() {
Wire.begin(); // 初始化I2C总线
}
void loop() {
Wire.beginTransmission(0x3C); // 发送数据到 LILYGOA T-DISPLAY S3 的 I2C 地址
Wire.write("Hello World!"); // 发送字符串数据
Wire.endTransmission(); // 结束传输
delay(1000); // 延时1秒钟
}
```
3.在 LILYGOA T-DISPLAY S3 开发板上编写接收数据的代码,如下所示:
```c++
#include <Wire.h>
#include <TFT_eSPI.h>
TFT_eSPI tft;
void setup() {
Wire.begin(0x3C); // 初始化I2C总线并设置I2C地址为0x3C
tft.init();
}
void loop() {
Wire.requestFrom(0x3C, 13); // 请求接收13个字节的数据
while (Wire.available()) {
char c = Wire.read(); // 读取接收到的数据
Serial.print(c); // 输出到串口
}
Serial.println();
tft.fillScreen(TFT_BLACK); // 清空屏幕
tft.setCursor(0, 0); // 设置光标位置
tft.setTextColor(TFT_WHITE); // 设置字体颜色
tft.println("Received data:"); // 显示接收到的数据
tft.println(Wire.readString()); // 显示接收到的字符串数据
delay(1000); // 延时1秒钟
}
```
这样,当 Uno 开发板发送字符串数据时,LILYGOA T-DISPLAY S3 开发板就会接收到数据并在屏幕上显示。
阅读全文