LT7589 RGB 输出颜色顺序配置修改教程

1. 问题说明

在 LT7589 驱动 LCD 屏幕时,如果出现 红色与蓝色互换(R/B 反色) 的现象,可以检查 LT7589 的 RGB 数据输出顺序配置。

LT7589 通过寄存器 0x12 配置并行接口 PDATA[23:0] 的颜色输出顺序。修改该寄存器可以调整 RGB 数据排列方式,使其与 LCD 屏幕要求的颜色顺序一致。

本次修改主要包括:

  1. 修改 PDATA_Set_RGB(),直接向寄存器 0x12 写入 0x00,配置 RGB 输出顺序。
  2. 修改 Set_LCD_Panel(),将 TFT_color == 1 分支调用的 PDATA_Set_BGR() 改为 PDATA_Set_RGB()。
  3. 统一相关配置分支的 RGB 输出方式,避免颜色顺序配置不一致。

注意: RGB 数据顺序与 LCD 接口的实际接线、屏幕控制器配置有关。修改前应确认问题确实由数据颜色顺序引起,而不是 RGB 引脚接线或 LCD 驱动配置错误。

2. 修改 RGB 输出顺序配置

2.1 文件位置

编辑文件:LT7589_UE-III_V1.0_20250925_LIB/Function/LT758.c,将PDATA_Set_RGB函数修改为:

void PDATA_Set_RGB(void)
{
    /*
     * Parallel PDATA[23:0] Output Sequence
     *
     * 000b : RGB
     * 001b : RBG
     * 010b : GRB
     * 011b : GBR
     * 100b : BRG
     * 101b : BGR
     */

    /*
     * REG[0x12] bits[2:0] = 000b
     * 配置并行数据输出顺序为 RGB。
     *
     * 直接写入寄存器,避免读-改-写操作受到
     * LCD_DataRead 读时序异常的影响。
     */
    LCD_CmdWrite(0x12);
    LCD_DataWrite(0x00);
}

2.2 修改说明

修改后的函数通过以下两条语句配置 RGB 输出顺序:

LCD_CmdWrite(0x12);
LCD_DataWrite(0x00);

4. 修改 LCD 面板初始化配置

4.1 文件位置

编辑文件:

LT7589_UE-III_V1.0_20250925_LIB/Function/LT758_Lib.c的Set_LCD_Panel修改为统一RGB

switch (TFT_color)
{
case 0:
    PDATA_Set_RGB();  // REG[0x12]:配置 RGB 输出顺序
    break;

case 1:
    PDATA_Set_RGB();  // 统一配置为 RGB 输出顺序
    break;

default:
    break;
}

5. 编译与验证

修改完成后,重新编译相关工程,并将更新后的程序烧录到目标设备。

作者:罗珍雪  创建时间:2026-10-23 18:32
最后编辑:罗珍雪  更新时间:2026-11-02 20:02