ILI9327液晶显示图片颜色不对
本帖最后由 xuefen2014 于 2014-9-4 16:46 编辑大家好,我用的是单片机是cc2530,液晶用的是ILI9327,存储图片的芯片用的是AT45DB321D.
以下是在ILI9327上显示图片:
图中红色圈起来的部分的图片是不正常的,显示图片数据时从存储芯片AT45DB321D读出来的。
绿色圈起来的部分是原来图片,显示是正常的。
还望各位大神不吝赐教!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 本帖最后由 xiaodao35 于 2014-9-4 17:10 编辑
驱动改一下RGB顺序,或改一下flash里r和b的数据顺序
,原图中的数据读出后和你取模的数据比较一下塞!
读的数据有问题吧,把读出来的图片数据显示出来看看有啥不正常。我猜是高低位反了 1.rgb数据的问题
2.rgb数据刷新时的顺序或地址不对 谢谢各位的解答,从flash中读出来的数据跟取模数据时一样的,我用串口监测了一下。由于我对ILI9327不是很熟悉,下面是ILI9327屏初始化。
ILI9327_RESX = 1;
ILI9327LCD_delay_ms(6); // Delay 1ms
ILI9327_RESX = 0;
ILI9327LCD_delay_ms(10); // Delay 10ms // This delay time is necessary
ILI9327_RESX = 1;
ILI9327LCD_delay_ms(100); // Delay 120 ms
//************* Start Initial Sequence **********//
ILI9327LCD_Write_Cmd(0xE9);
ILI9327LCD_Write_Dat (0x20);
ILI9327LCD_Write_Cmd(0x11); //Exit Sleep
ILI9327LCD_delay_ms(100);
ILI9327LCD_Write_Cmd(0x3a); //set number of colors using set_pixel_format
ILI9327LCD_Write_Dat(0x55);
ILI9327LCD_Write_Cmd(0xD1);//VCOM控制,3个参数
ILI9327LCD_Write_Dat (0x00);//Register D1h for VCM setting
ILI9327LCD_Write_Dat (0x6b);//设置生成VCOMH参考电压为VREG1OUT x 0.920
ILI9327LCD_Write_Dat (0x19);//设置VCOM交流振幅为VREG1OUT x 1.20
ILI9327LCD_Write_Cmd(0xD0);//Power_Setting,3个参数
ILI9327LCD_Write_Dat (0x07);//设置Vci的比例因子生成参考电压Vci1,1.0 x Vci
ILI9327LCD_Write_Dat (0x07);//设置加强因素,输出电压与参考电压Vci1水平
ILI9327LCD_Write_Dat (0x80);//Sets the factor to generate VREG1OUT from VCI
ILI9327LCD_Write_Cmd(0x36);//Set_address_mode
ILI9327LCD_Write_Dat (0x28);//Pixels sent in BGR order 设置扫描方式
ILI9327LCD_Write_Cmd(0xC1);//Display_Timing_Setting for Normal/Partial Mode (C1h)
ILI9327LCD_Write_Dat (0x10);//Line inversion waveform is selected
ILI9327LCD_Write_Dat (0x10);
ILI9327LCD_Write_Dat (0x02);
ILI9327LCD_Write_Dat (0x02);
ILI9327LCD_Write_Cmd(0xC0); //Set Default Gamma,Panel Driving Setting
ILI9327LCD_Write_Dat (0x00);
ILI9327LCD_Write_Dat (0x35);//Sets the number of lines to drive the LCD at an interval of 8 lines.
ILI9327LCD_Write_Dat (0x00);//Specifies the gate line where the gate driver starts scan
ILI9327LCD_Write_Dat (0x00);//Sets the scan mode in non-display area. Select frame-inversion when interval-scan is selected
ILI9327LCD_Write_Dat (0x01);//Set the scan cycle when PTG selects interval scan in non-display area drive period
ILI9327LCD_Write_Dat (0x02);//Set the source output level in non-display area drive period
ILI9327LCD_Write_Cmd(0xC5); //Set frame rate,Frame Rate Control (C5h)
ILI9327LCD_Write_Dat (0x01);//72 (default),HZ
ILI9327LCD_Write_Cmd(0xD2); //power setting
ILI9327LCD_Write_Dat (0x01);
ILI9327LCD_Write_Dat (0x22);
ILI9327LCD_Write_Cmd(0xC8); //Set Gamma,Gamma Setting (C8h)
ILI9327LCD_Write_Dat (0x01);
ILI9327LCD_Write_Dat (0x52);
ILI9327LCD_Write_Dat (0x37);
ILI9327LCD_Write_Dat (0x10);
ILI9327LCD_Write_Dat (0x0d);
ILI9327LCD_Write_Dat (0x01);
ILI9327LCD_Write_Dat (0x04);
ILI9327LCD_Write_Dat (0x51);
ILI9327LCD_Write_Dat (0x77);
ILI9327LCD_Write_Dat (0x01);
ILI9327LCD_Write_Dat (0x01);
ILI9327LCD_Write_Dat (0x0d);
ILI9327LCD_Write_Dat (0x08);
ILI9327LCD_Write_Dat (0x80);
ILI9327LCD_Write_Dat (0x00);
////////////////
ILI9327LCD_Write_Cmd(0xEA);
ILI9327LCD_Write_Dat (0x80);
ILI9327LCD_Write_Cmd(0x29); //display on,Set_display_on (29h),
RGB的数据顺序在哪里改呀?
页:
[1]