请教关于奇晶的2.83寸OLED显示屏:C0283QGLC-T(采用的是S6E63D6驱动IC)的驱动问题----有人做过么?

时间:2022-10-17 04:41:00
原来用的三星的LMS283显示屏,最近停产了,不得不从新找屏做驱动。
新找来的奇晶的LCD,修改了硬件电路和spi初始化配置,点亮-进入系统都没有问题,但是象素上

发现了一个奇怪的问题:
    颜色显示都基本正确,红.绿.蓝都还可以。
    但送进去16位的RGB数据,在液晶上显示出来的则好像是256色的图像..就好像在windows下你把16bit的图片强制转换成256色图像的感觉一样。
    
因为图像都在三星的LCD上显示过,并未发现问题,同时如果硬件连接出问题,应该颜色混乱,因此怀疑是SPI初始化配置的问题,不知道有没有大侠做过这方面的东西,指点一下小弟,搞一个lcd搞了一周了...

spi初始化的代码: 
lcd_SpiSetREG(0x70, 0x2580);
lcd_SpiSetREG(0x71, 0x2780);
lcd_SpiSetREG(0x72, 0x3380);
lcd_SpiSetREG(0x73, 0x1d18);
lcd_SpiSetREG(0x74, 0x1f15);
lcd_SpiSetREG(0x75, 0x2419);
lcd_SpiSetREG(0x76, 0x1a14);
lcd_SpiSetREG(0x77, 0x211a);
lcd_SpiSetREG(0x78, 0x2013);

lcd_SpiSetREG(0x02, 0x0190); //RGB interface control

lcd_SpiSetREG(0xF8, 0x0014); //Power gen3,VGH4~VGH0
lcd_SpiSetREG(0xF9, 0x0014); //Power gen4,VGL4~VGL0

lcd_SpiSetREG(0x03, 0x0020); //Entry mode

lcd_SpiSetREG(0x10, 0x0000);  //Stand by mode off
lcd_SpiSetREG(0x05, 0x0001); //Display control1, display on

lcd_SpiSetREG(0x20, 0x00ef);
lcd_SpiSetREG(0x21, 0x0000);
lcd_SpiSetREG_end(0x22);    

其中:VSPL=0 HSPL=0 DPL=0 EPL=0 都是设置的低有效

6 个解决方案

#1


是不是你LCD那块初始化格式不对,有565和666几种格式选择的,还有你的SPI接口初始化那块也要仔细看看。要配置正确!

#2


采用的是:wince4.2 2440的系统

spi,初始化应该没有问题的,不然液晶显示都没有,显示的时候图像都正确,就是感觉缺色严重.
应该是鉴于16bit与8bit之间,颜色比8bit丰富,但是达不到16bit..或者达不到原来的Samsung液晶的显示效果.
lcd_SpiSetREG(0xF8, 0x0014); //Power gen3,VGH4~VGH0 
lcd_SpiSetREG(0xF9, 0x0014); //Power gen4,VGL4~VGL0 
通过修改里面的参数,能测得电压有相应的变化,验证了spi通讯正常。

lcd_SpiSetREG(0x02, 0x0190); //RGB interface control 
这里就设置了RGB模式 16bit显示啊,也就是565格式了.

#3


顶一下,没有人用过么?

还是这个液晶的显示效果比三星的确实要差?

#4


我也遇到这样的问题,不知道如何解决,你解决了没?怎么解决的?谢谢

#5


我也在调试,谁成功了,帮帮我,QQ621520,送礼物!!!

#6


你好 我最近也在调试这个oled屏 初始化都不正确,初始化后测得屏的电压是3点多伏和0v 不是要求的+4.6v和-4.4v,请问是怎么回事 求给小弟赐教下,以下是我的初始化程序,再麻烦给我留个你的qq,我qq是289958850.
unsigned int m,n;
//IOCLR = vpen;
set_oled();

WriteCommand(0x0005);                   //显示使能控制,0x0005为地址
WriteData(0x0000);//WriteData(0x00);  //Display Control1 //0--关闭显示,1--打开显示
WriteCommand(0x0018);                   //设置内部振荡器的震荡速率,0x0018为地址
WriteData(0x001f);//WriteData(0x28); //Oscillator Control x1.0
WriteCommand(0x0004);                   //时钟控制为外部时钟,0x0004为时钟控制地址
WriteData(0x0030);//WriteData(0x03); //Clock Control,时钟32分频

WriteCommand(0x0002);
WriteData(0x0030);//WriteData(0x28); //RGB Interface Control System模式
WriteCommand(0x0003);
WriteData(0x6030);//WriteData(0x30); //Entry Mode  //System模式,16bit接口

WriteCommand(0x0010);
WriteData(0x0000);//WriteData(0x00); //1--待机模式,0--正常模式
WriteCommand(0x0070);
WriteData(0x1900);// Gamma Top/Bottom R
    WriteCommand(0x0071);
WriteData(0x1b00);// Gamma Top/Bottom G
    WriteCommand(0x0072);
WriteData(0x2600);// Gamma Top/Bottom B
    WriteCommand(0x0073);
WriteData(0x0813);// Gamma Top Bottom R1,2
    WriteCommand(0x0074);
WriteData(0x1e11);// Gamma Top Bottom R3,4
    WriteCommand(0x0075);
WriteData(0x2717);// Gamma Top Bottom G1,2
    WriteCommand(0x0076);
WriteData(0x1915);// Gamma Top Bottom G3,4
    WriteCommand(0x0077);
WriteData(0x231b);// Gamma Top Bottom B1,2
    WriteCommand(0x0078);
WriteData(0x2116);// Gamma Top Bottom B3,4

  
WriteCommand(0x0022);//重置寄存器设置,用来消除高位、地位传输的适配,接下来的传输将从高位开始传输
for(m=0;m<320;m++)
for(n=0;n<240;n++)
{
WriteData(0x0000);//;WriteData(0x00);    
}
delay_ms(5); 
WriteCommand(0x0005);
WriteData(0x0001);//WriteData(0x00); 

#1


是不是你LCD那块初始化格式不对,有565和666几种格式选择的,还有你的SPI接口初始化那块也要仔细看看。要配置正确!

#2


采用的是:wince4.2 2440的系统

spi,初始化应该没有问题的,不然液晶显示都没有,显示的时候图像都正确,就是感觉缺色严重.
应该是鉴于16bit与8bit之间,颜色比8bit丰富,但是达不到16bit..或者达不到原来的Samsung液晶的显示效果.
lcd_SpiSetREG(0xF8, 0x0014); //Power gen3,VGH4~VGH0 
lcd_SpiSetREG(0xF9, 0x0014); //Power gen4,VGL4~VGL0 
通过修改里面的参数,能测得电压有相应的变化,验证了spi通讯正常。

lcd_SpiSetREG(0x02, 0x0190); //RGB interface control 
这里就设置了RGB模式 16bit显示啊,也就是565格式了.

#3


顶一下,没有人用过么?

还是这个液晶的显示效果比三星的确实要差?

#4


我也遇到这样的问题,不知道如何解决,你解决了没?怎么解决的?谢谢

#5


我也在调试,谁成功了,帮帮我,QQ621520,送礼物!!!

#6


你好 我最近也在调试这个oled屏 初始化都不正确,初始化后测得屏的电压是3点多伏和0v 不是要求的+4.6v和-4.4v,请问是怎么回事 求给小弟赐教下,以下是我的初始化程序,再麻烦给我留个你的qq,我qq是289958850.
unsigned int m,n;
//IOCLR = vpen;
set_oled();

WriteCommand(0x0005);                   //显示使能控制,0x0005为地址
WriteData(0x0000);//WriteData(0x00);  //Display Control1 //0--关闭显示,1--打开显示
WriteCommand(0x0018);                   //设置内部振荡器的震荡速率,0x0018为地址
WriteData(0x001f);//WriteData(0x28); //Oscillator Control x1.0
WriteCommand(0x0004);                   //时钟控制为外部时钟,0x0004为时钟控制地址
WriteData(0x0030);//WriteData(0x03); //Clock Control,时钟32分频

WriteCommand(0x0002);
WriteData(0x0030);//WriteData(0x28); //RGB Interface Control System模式
WriteCommand(0x0003);
WriteData(0x6030);//WriteData(0x30); //Entry Mode  //System模式,16bit接口

WriteCommand(0x0010);
WriteData(0x0000);//WriteData(0x00); //1--待机模式,0--正常模式
WriteCommand(0x0070);
WriteData(0x1900);// Gamma Top/Bottom R
    WriteCommand(0x0071);
WriteData(0x1b00);// Gamma Top/Bottom G
    WriteCommand(0x0072);
WriteData(0x2600);// Gamma Top/Bottom B
    WriteCommand(0x0073);
WriteData(0x0813);// Gamma Top Bottom R1,2
    WriteCommand(0x0074);
WriteData(0x1e11);// Gamma Top Bottom R3,4
    WriteCommand(0x0075);
WriteData(0x2717);// Gamma Top Bottom G1,2
    WriteCommand(0x0076);
WriteData(0x1915);// Gamma Top Bottom G3,4
    WriteCommand(0x0077);
WriteData(0x231b);// Gamma Top Bottom B1,2
    WriteCommand(0x0078);
WriteData(0x2116);// Gamma Top Bottom B3,4

  
WriteCommand(0x0022);//重置寄存器设置,用来消除高位、地位传输的适配,接下来的传输将从高位开始传输
for(m=0;m<320;m++)
for(n=0;n<240;n++)
{
WriteData(0x0000);//;WriteData(0x00);    
}
delay_ms(5); 
WriteCommand(0x0005);
WriteData(0x0001);//WriteData(0x00);