littlebot
Published on 2025-04-02 / 5 Visits
0

【源码】基于ESP32的DWIN DGUS T5L显示控制库

项目简介

本项目是一个基于ESP32的非官方库,旨在控制DWIN DGUS T5L HMI显示设备。该库功能丰富,能与DWIN显示设备高效通信,且不会阻塞其他代码的执行。用户可通过该库轻松控制显示设备的页面、亮度、UI元素等,同时支持多种数据类型和UI类型。

项目的主要特性和功能

  1. 页面控制:支持设置和获取当前显示的页面。
  2. 亮度控制:可动态调整显示设备的亮度。
  3. UI元素控制:支持多种UI元素类型(如整数、双精度浮点数、UTF文本等),能设置元素的颜色、位置、闪烁效果等。
  4. 回调函数:支持设置回调函数,用于处理来自显示设备的响应。
  5. 非阻塞通信:通信过程不会阻塞其他代码的执行。
  6. 灵活的数据发送:支持发送整数、浮点数、字符串等多种数据类型到显示设备。
  7. 自定义命令:支持发送原始16进制命令到显示设备,实现更高级的控制。

安装使用步骤

1. 环境准备

确保已安装Arduino IDE,并配置好ESP32的开发环境。

2. 下载项目

将本项目的源码文件下载到本地。

3. 导入库

Dwin2库文件(Dwin2.cppDwin2.h)导入到你的Arduino项目中。

4. 配置硬件

根据硬件连接,修改RX_PINTX_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】