TFT_eSPI 图形库
TFT_eSPI
ESP32
3/5
🧩 软硬件结合
已发布
项目简介
Arduino and PlatformIO IDE compatible TFT library optimised for the Raspberry Pi Pico (RP2040), STM32, ESP8266 and ESP32
TFT_eSPI 是一个功能丰富的 Arduino 图形库,专为驱动各类 TFT 液晶显示屏而设计。它由 Bodmer 开发维护,是目前 Arduino 生态中最成熟、性能最优秀的 TFT 驱动库之一。该库支持 ESP32(包括 S2、S3、C3 变体)、RP2040、ESP8266 等多种主流微控制器,并兼容 ILI9341、ILI9488、ST7789 等常见显示驱动芯片,通过灵活的配置文件即可快速适配不同硬件。
标签
项目特点
**高性能优化**:针对 RP2040、ESP32、STM32 等 32 位处理器进行了深度性能优化,支持 DMA 以提升 SPI 和并行接口的显示速度。
**广泛的硬件支持**:支持多种主流 TFT 控制器(如 ILI9341、ST7789、ST7735、ILI9488 等)和接口(SPI、8位/16位并行),并兼容 Raspberry Pi 设计的部分显示器。
**丰富的图形与字体功能**:提供抗锯齿图形(弧线、圆、圆角矩形)、抗锯齿字体渲染,并可通过第三方库 [OpenFontRender](https://github.com/takkaO/OpenFontRender) 渲染 TrueType 字体。
**精灵(Sprite)类**:支持在 RAM 中创建不可见的图形缓冲区,实现无闪烁的复杂图形更新,并可将其作为帧缓冲区使用。
**易于配置**:所有显示器和引脚配置均在库内完成,示例代码无需修改即可运行,支持 Arduino IDE 和 PlatformIO。
**内置触摸支持**:集成了 XPT2046 触摸控制器驱动,方便实现触摸交互。
**丰富的示例**:提供了大量示例草图,涵盖基本图形、字体、精灵、PNG 图片显示、GUI 控件(滑块、按钮、图表)等。
技术规格
| 目标平台 | Arduino IDE, PlatformIO |
|---|---|
| 支持处理器 | RP2040 (Raspberry Pi Pico), ESP32, ESP32-S2, ESP32-S3, ESP32-C3, ESP8266, STM32 (F1xx, F2xx, F4xx, F767) |
| 支持接口 | 4线 SPI, 8位并行, 16位并行 |
| DMA 支持 | RP2040 (所有接口), ESP32/ESP32-S3 (SPI), STM32 (SPI) |
| 支持显示控制器 | GC9A01, ILI9163, ILI9225, ILI9341, ILI9342, ILI9481, ILI9486, ILI9488, HX8357B/C/D, R61581, RM68120, RM68140, S6D02A1, SSD1351, SSD1963, ST7735, ST7789, ST7796 |
| 触摸控制器 | XPT2046 (内置支持) |
| 颜色深度 | 16位 (默认), 8位 (256色) |
| 字体支持 | 内置字体, 抗锯齿字体, TrueType 字体 (通过 OpenFontRender) |
| 精灵支持 | 是 (支持 16位 和 8位 色深) |
| 许可证 | MIT |
项目资源
搜索资源
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| Raspberry Pi Pico / ESP32 / STM32 开发板 | 1 | — | 根据项目选择 |
| SPI 或并行接口 TFT 显示屏 (如 ILI9341, ST7789) | 1 | — | 推荐 ILI9341 或 ST7796 SPI 显示屏 |
| 杜邦线或排线 | 若干 | — | 用于连接 MCU 和显示屏 |
| 面包板 | 1 | — | 可选,用于原型搭建 |
| USB 数据线 | 1 | — | 为开发板供电 |
能力画像
⚪ 记忆与知识检索: 2/5
🔵 逻辑推演: 2/5
⚪ 表达与交流: 1/5
⚪ 感知与观察: 2/5
⚪ 数理与计算: 2/5
⚪ 动手与操作: 3/5
⚪ 狂热与坚持: 2/5
⚪ 创造与创新: 3/5
项目图库
所需技能
🔧 **动手能力**:需要基本的电路连接能力,如使用杜邦线连接开发板和显示屏,可能需要焊接排针。
💻 **编程能力**:需要具备 Arduino 或 C/C++ 编程基础,能够理解库的配置和使用示例代码。
⚡ **电子电路**:了解 SPI 或并行通信协议的基本原理,熟悉 GPIO 引脚的定义和连接。
适用场景
**嵌入式 GUI 开发**:为基于 32 位 MCU 的嵌入式系统创建图形用户界面。
**数据可视化**:实时显示传感器数据、图表和仪表盘。
**DIY 电子项目**:制作智能家居面板、小型游戏机、手持仪表等。
**教育与学习**:学习微控制器图形编程、显示驱动和 DMA 技术。