项目简介
本项目是一个基于ESP32的非官方库,旨在控制DWIN DGUS T5L HMI显示设备。该库功能丰富,能与DWIN显示设备高效通信,且不会阻塞其他代码的执行。用户可通过该库轻松控制显示设备的页面、亮度、UI元素等,同时支持多种数据类型和UI类型。
项目的主要特性和功能
- 页面控制:支持设置和获取当前显示的页面。
- 亮度控制:可动态调整显示设备的亮度。
- UI元素控制:支持多种UI元素类型(如整数、双精度浮点数、UTF文本等),能设置元素的颜色、位置、闪烁效果等。
- 回调函数:支持设置回调函数,用于处理来自显示设备的响应。
- 非阻塞通信:通信过程不会阻塞其他代码的执行。
- 灵活的数据发送:支持发送整数、浮点数、字符串等多种数据类型到显示设备。
- 自定义命令:支持发送原始16进制命令到显示设备,实现更高级的控制。
安装使用步骤
1. 环境准备
确保已安装Arduino IDE,并配置好ESP32的开发环境。
2. 下载项目
将本项目的源码文件下载到本地。
3. 导入库
将Dwin2
库文件(Dwin2.cpp
和Dwin2.h
)导入到你的Arduino项目中。
4. 配置硬件
根据硬件连接,修改RX_PIN
和TX_PIN
的定义,确保与ESP32的GPIO引脚连接正确。
```cpp
define RX_PIN 16
define TX_PIN 17
```
5. 编写代码
在setup()
函数中初始化DWIN显示设备,并设置回调函数。参考代码如下:
```cpp
include
include
define RX_PIN 16
define TX_PIN 17
DWIN2 dwc;
void dwinEchoCallback(DWIN2 &d) { Serial.print("Echo "); Serial.println(d.getDwinEcho()); }
void setup() { Serial.begin(115200); dwc.begin(); dwc.setUartCbHandler(dwinEchoCallback); dwc.setEcho(true);
// 设置页面
dwc.setPage(1);
delay(1000);
// 设置亮度
dwc.setBrightness(127);
delay(1000);
// 发送数据到显示设备
dwc.sendData("Hello, DWIN!");
}
void loop() { // 主循环 } ```
6. 上传代码
将代码上传到ESP32开发板,观察显示设备的变化。
7. 扩展功能
可根据项目需求,进一步扩展代码,使用库提供的其他功能,如设置UI元素的颜色、闪烁效果、发送原始命令等。
注意事项
- 确保硬件连接正确,特别是RX和TX引脚。
- 发送数据时,注意数据类型与UI元素类型的匹配。
- 若需发送原始命令,请参考DWIN显示设备的通信协议。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】