xuefen2014 发表于 2014-9-4 16:46:29

ILI9327液晶显示图片颜色不对

本帖最后由 xuefen2014 于 2014-9-4 16:46 编辑

   大家好,我用的是单片机是cc2530,液晶用的是ILI9327,存储图片的芯片用的是AT45DB321D.
以下是在ILI9327上显示图片:

图中红色圈起来的部分的图片是不正常的,显示图片数据时从存储芯片AT45DB321D读出来的。
绿色圈起来的部分是原来图片,显示是正常的。
还望各位大神不吝赐教!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

xiaodao35 发表于 2014-9-4 17:08:49

本帖最后由 xiaodao35 于 2014-9-4 17:10 编辑

驱动改一下RGB顺序,或改一下flash里r和b的数据顺序
,原图中的数据读出后和你取模的数据比较一下塞!

bbglx 发表于 2014-9-4 17:22:48

读的数据有问题吧,把读出来的图片数据显示出来看看有啥不正常。我猜是高低位反了

lxa0 发表于 2014-9-4 20:12:10

1.rgb数据的问题
2.rgb数据刷新时的顺序或地址不对

xuefen2014 发表于 2014-9-5 14:04:16

    谢谢各位的解答,从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]
查看完整版本: ILI9327液晶显示图片颜色不对