LT7589 RGB 输出颜色顺序配置修改教程
1. 问题说明
在 LT7589 驱动 LCD 屏幕时,如果出现 红色与蓝色互换(R/B 反色) 的现象,可以检查 LT7589 的 RGB 数据输出顺序配置。
LT7589 通过寄存器 0x12 配置并行接口 PDATA[23:0] 的颜色输出顺序。修改该寄存器可以调整 RGB 数据排列方式,使其与 LCD 屏幕要求的颜色顺序一致。
本次修改主要包括:
- 修改
PDATA_Set_RGB(),直接向寄存器0x12写入0x00,配置 RGB 输出顺序。 - 修改
Set_LCD_Panel(),将TFT_color == 1分支调用的PDATA_Set_BGR()改为PDATA_Set_RGB()。 - 统一相关配置分支的 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
最后编辑:罗珍雪 更新时间:2026-11-02 20:02