littlebot
Published on 2025-04-08 / 1 Visits
0

【源码】基于Teensy 4.1的ILI948X系列屏幕显示驱动库

项目简介

本项目是针对Teensy 4.1微控制器开发的库,用于驱动ILI948X系列的TFT LCD屏幕。借助FlexIO模块实现高速数据传输,支持8位和16位并行接口(8080),具备屏幕初始化、显示属性设置、像素数据推送等功能,还支持半异步数据传输,可减轻MCU负载。

项目的主要特性和功能

  1. 屏幕支持:目前支持ILI9488屏幕,未来会支持更多型号,如R61529、ILI9486、ILI9806g等。
  2. 高速传输:利用FlexIO模块实现高速数据传输,支持8位和16位并行接口。
  3. 传输模式:同步传输适用于简单图像推送;半异步传输通过FlexIO中断功能,每次传32字节数据,减轻MCU负载。
  4. 引脚配置:支持任意GPIO引脚用于CS、DC和RST控制信号。
  5. 显示设置:支持屏幕旋转、颜色反转等功能。
  6. 回调函数:支持注册回调函数,在异步传输完成后触发。

安装使用步骤

假设用户已下载本项目的源码文件,使用步骤如下: 1. 包含库文件:在项目中包含库的头文件。 ```cpp

include "ILI948x_t41_p.h"

2. **定义引脚和创建对象**:根据实际屏幕型号和引脚配置,定义参数并创建库对象。cpp

define CS 11

define DC 13

define RST 12

ILI948x_t41_p lcd = ILI948x_t41_p(DISPLAY_TYPE, DC, CS, RST); 其中`DISPLAY_TYPE`为屏幕类型(如`ILI9488_DISP`),`DC`、`CS`、`RST`为相应的控制引脚。 3. **连接LCD屏幕**:将LCD屏幕连接到Teensy 4.1的相应引脚。 - D0 - pin 19 - D1 - pin 18 - D2 - pin 14 - D3 - pin 15 - D4 - pin 40 - D5 - pin 41 - D6 - pin 17 - D7 - pin 16 - D8 - pin 22 - D9 - pin 23 - D10 - pin 20 - D11 - pin 21 - D12 - pin 38 - D13 - pin 39 - D15 - pin 26 - D15 - pin 27 - WR - pin 36 - RD - pin 37 或 3.3V(如果不需要读取命令) 4. **初始化库**:在`setup`函数中调用`begin`函数初始化库。cpp ILI948x_t41_p::begin(); 默认波特率为20MHz,可通过传递参数(2,4,8,12,20,24,30,40)来调整波特率。 5. **推送像素数据**: - 同步推送:cpp ILI948x_t41_p::pushPixels16bit(uint16_t colors, x1, y1, x2, y2); - 半异步推送:cpp ILI948x_t41_p::pushPixels16bitAsync(uint16_t colors, x1, y1, x2, y2); 其中`colors`为RGB565格式的颜色数组,`x1, y1, x2, y2`为屏幕的起始和结束坐标。 6. **其他功能**: - 设置屏幕旋转:cpp ILI948x_t41_p::setRotation(n); - 反转显示颜色:cpp ILI948x_t41_p::invertDisplay(bool); - 注册异步传输完成回调:cpp ILI948x_t41_p::onCompleteCB(CBF callback); ```

注意事项

  1. 本库为实验性质,部分功能可能尚未完善,使用时请谨慎。
  2. 使用本库时,请确保Teensy 4.1开发环境以及相关依赖库已经正确安装和配置。
  3. 本库的具体使用方法和API接口请参考库的说明文档和源码注释。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】