耀元鸿.专业显示方案

常见问题

HOME > 常见问题 > 3.5寸竖屏RGB接口如何使用 >
2012-09-04

3.5寸竖屏RGB接口如何使用

分享到:

有朋友在使用晶力泰3.5寸RGB屏(如JLT35002A/JLT35018A)时不知如何着手调试。

具体代码和参考电路需要咨询晶力泰的销售经理。

1.因为这类似的竖屏,都是需要用SPI对液晶进行初始化操作,从而让液晶能够翻转,让RGB口能够打开与CPU的TFT控制器进行通讯。所以,初始化SPI是第一步了。

//写寄存器函数
//regval:寄存器值
void lcd_write_index(unsigned char REG)
{
unsigned char i;
LCDcsFF();//LCD_CS = 0;

LCDrsOFF();//LCD_RS = 0;//COMMAND
LCDsclFF();//LCD_SCL = 0;

for(i=0; i<8; i++)
{
if (REG & 0x80)
LCDsdaON();//LCD_SDA = 1;
else
LCDsdaOFF();//LCD_SDA = 0;

REG <<= 1;
LCDsclFF();//LCD_SCL = 0;
LCDsclON();//LCD_SCL = 1;
}//送低8位
LCDrsON();//LCD_RS = 1;
LCDcsON();//LCD_CS=1;
}

//送参数
void lcd_write_byte(unsigned char PA)
{
unsigned char i;
LCDcsFF();//LCD_CS = 0;

LCDrsON();//LCD_RS = 1;//data
LCDsclFF();//LCD_SCL = 0;

for(i=0; i<8; i++)
{
if (PA & 0x80)
LCDsdaON();//LCD_SDA = 1;
else
LCDsdaOFF();//LCD_SDA = 0;

PA <<= 1;
LCDsclFF();//LCD_SCL = 0;
LCDsclON();//LCD_SCL = 1;
}//送低8位
LCDrsON();//LCD_RS = 1;//data
LCDsclFF();//LCD_SCL = 0;
}

以上两个函数用于初始化时送指令和参数,这个两个函数可以用示波器或者逻辑分析仪调通它。接着就可以开始送初始化了

void LcdInit(void)
{
LCDrstON();
CTimerDelayXms(10);
LCDrstOFF();
CTimerDelayXms(20);
LCDrstON();
CTimerDelayXms(20);
#if 1
//ILI9488+CTC3.5
//*************LCD Driver Initial **********//
lcd_write_index(0xE0);
lcd_write_byte(0x00);
lcd_write_byte(0x07);
lcd_write_byte(0x10);
lcd_write_byte(0x09);
lcd_write_byte(0x17);
lcd_write_byte(0x0B);
lcd_write_byte(0x40);

…………………………………………………..

}

初始化中

lcd_write_index(0x3a);
lcd_write_byte(0x66);

0X3A用作设置RGB数据的位数,0x55=565,0×66=666,这个分辨率的液晶屏RGB最多就支持666的18位数据,这数据如何与接口的DB0-DB17相互对应呢,这就要看IC规格书了,

16BIT(0X3A参数为0x55)

18BIT(0X3A参数为0x66)


下一篇 :

总访问量:1200198    今日访问量:640    您是今天第:640 位访问者