显示屏驱动
display 该组件实现了显示设备的统一注册、管理、控制和帧缓冲操作,为多种显示屏提供了抽象和统一的管理接口。
功能介绍
- 显示设备的注册与管理:支持将不同类型的显示设备注册到系统中,维护设备列表,便于统一管理和查找。
- 设备查找与信息获取:可通过设备名查找已注册的显示设备,并获取设备的详细信息(如类型、分辨率、像素格式、旋转角度等)。
- 设备生命周期管理:实现了显示设备的打开、关闭等操作,自动处理电源、背光等硬件资源的初始化与释放。
- 帧缓冲管理:提供帧缓冲的创建与释放接口,支持 SRAM 和 PSRAM 等不同类型内存的分配。
- 显示内容刷新:支持将帧缓冲内容刷新到显示设备,实现图像的显示。
- 背光亮度控制:根据设备配置,支持通过 GPIO 或 PWM 方式控制背光亮度。
- 硬件抽象与接口统一:通过接口结构体,将底层驱动与上层管理解耦,便于扩展和适配不同显示屏硬件。
支持驱动列表
驱动接口 | 芯片 | 像素格式 |
---|---|---|
RGB | ILI9488 | RGB565 |
SPI | GC9A01 | RGB565 |
ILI9341 | RGB565 | |
ST7789 | RGB565 | |
ST7305 | 单色 | |
ST7306 | 2 位深度的灰度格式 | |
QSPI | ST7735S | RGB565 |
MCU8080 | ST7796 | RGB565 |
ST7789 | RGB565 | |
I2C | SSD1306 | 单色 |
功能模块
显示组件主要分为两大模块,抽象管理模块和实例化注册模块。
- 抽象管理模块 ( tdl_display )
- 对应用提供统一的显示屏操作接口。
- 对屏幕驱动芯片进行抽象,提供统一的适配接口。
- 对使用几种常规驱动接口( RGB/ SPI / QSPI / MCU8080 )的屏幕提供更加集成的接口。
- 实例化注册模块 ( tdd_display )
- 屏幕驱动实例化,目前已经接入了十几种驱动芯片,后续持续增加。
- 提供将屏幕挂载到抽象管理模块上的注册接口。
工作流程

Kconfig 配置
-
使能宏
配置宏 类型 说明 ENABLE_DISPLAY 布尔 该宏被打开,驱动代码才会参与编译。 ENABLE_DISPLAY_DEV_2 布尔 该宏被打开,表示有两个屏幕设备 -
设备名
配置宏 类型 说明 DISPLAY_NAME 字符串 屏幕设备1的名称,作为注册和查找设备的索引。 DISPLAY_NAME_2 字符串 屏幕设备2的名称,作为注册和查找设备的索引。
开发指导
运行环境
如果想要运行该驱动,需要先把驱动的 总使能宏 < ENABLE_DISPLAY
> 打开。打开该使能宏的方式有三种, Board 默认打开,开启了需要屏幕驱动的功能 和 手动打开。
注意
以下所有命令都是需要切到目标应用目录下执行的,请勿直接在 TuyaOpen 根目录下或者其他目录下执行,否则执行会报错。