高级会员
积分 534
金钱 534
注册时间 2013-7-4
在线时间 13 小时
5 金钱
做了一个GUI发现在液晶屏上显示,会有影像残留的问题,尤其是上一屏是白色的地方,一下屏能看到痕迹,然后慢慢的会消退下去(几秒后就正常了),驱动改了几次都没有成功,我有点疑惑着到底是驱动问题还是屏的问题了,屏我换过一个还是一样, 这里是驱动
unsigned long i;
RES_0;
delayms(10000);
RES_1;
delayms(500);
LCD_WR_REG(0xFF);
LCD_WR_REG(0xFF);
delayms(500);
LCD_WR_REG(0xFF);
LCD_WR_REG(0xFF);
LCD_WR_REG(0xFF);
LCD_WR_REG(0xFF);
delayms(100);
LCD_WR_REG(0xB0); //Command Access Protect B0
LCD_WR_DATA(0x00);
LCD_WR_REG(0x11); //Exit Sleep Mode
delayms(15000);
LCD_WR_REG(0xB3); //Frame Memory Access and Interface Setting(B3)
LCD_WR_DATA(0x02);
LCD_WR_DATA(0x00);
LCD_WR_DATA(0x00);
LCD_WR_DATA(0x00);
LCD_WR_REG(0xC0); //Panel Driving Setting (C0h) .
LCD_WR_DATA(0x10);//13
LCD_WR_DATA(0x3B);//480
LCD_WR_DATA(0x00);
LCD_WR_DATA(0x02);
LCD_WR_DATA(0x00);
LCD_WR_DATA(0x01);
LCD_WR_REG(0xC1); //Display_Timing_Setting for Normal Mode (C1h)
LCD_WR_DATA(0x10);//LCD_WR_DATA(0x08);
LCD_WR_DATA(0x10);//LCD_WR_DATA(0x16);//CLOCK
LCD_WR_DATA(0x08);
LCD_WR_REG(0xC6);//Interface Control (C6h)
LCD_WR_DATA(0x00);
LCD_WR_REG(0xC8);//GAMMA Gamma Setting (C8h).
LCD_WR_DATA(0x03);//0
LCD_WR_DATA(0x03);
LCD_WR_DATA(0x13);
LCD_WR_DATA(0x5c);
LCD_WR_DATA(0x08);
LCD_WR_DATA(0x1f);
LCD_WR_DATA(0x14);
LCD_WR_DATA(0x08);
LCD_WR_DATA(0x00);
LCD_WR_DATA(0x21);
LCD_WR_DATA(0x08);
LCD_WR_DATA(0x00);
LCD_WR_REG(0x35);//tear on
LCD_WR_DATA(0x00);
LCD_WR_REG(0x36); //Set_address_mode (36h)
LCD_WR_DATA(0x28); //0a
LCD_WR_REG(0x3A); //Set_pixel_format (3Ah)
LCD_WR_DATA(0x55);
LCD_WR_REG(0x44); //Set_Tear_Scanline (44h)
LCD_WR_DATA(0x00);
LCD_WR_DATA(0x01);
LCD_WR_REG(0xD0); //Power_Setting (D0h)
LCD_WR_DATA(0x07);
LCD_WR_DATA(0x07);//VCI1
LCD_WR_DATA(0x1D);//VRH
LCD_WR_REG(0xD1);
LCD_WR_DATA(0x00);
LCD_WR_DATA(0x03);//VCM03
LCD_WR_DATA(0x00);//VDV00
LCD_WR_REG(0xD2); //VCOM Control (D1h)
LCD_WR_DATA(0x03);
LCD_WR_DATA(0x14);
LCD_WR_DATA(0x04);
/*??????*/
LCD_WR_REG(0x29); //Set_display_on (29h)
delayms(3000);
LCD_WR_REG(0x2A); //Set_column_address (2Ah)
LCD_WR_DATA(0x00);
LCD_WR_DATA(0x00);
LCD_WR_DATA(0x01);
LCD_WR_DATA(0xDF);//480
LCD_WR_REG(0x2B); //Set_page_address (2Bh)
LCD_WR_DATA(0x00);
LCD_WR_DATA(0x00);
LCD_WR_DATA(0x01);
LCD_WR_DATA(0x3F);//320
LCD_WR_REG(0xB4); //Display Mode and Frame Memory Write Mode Setting (B4h)
LCD_WR_DATA(0x00);
delayms(10000);
LCD_WR_REG( 0x0021);
LCD_WR_REG(0x2C);
GPIO_SetBits(GPIOG, GPIO_Pin_11); //????
for(i=0; i<(320*480); i++)
{
LCD_WR_DATA(White);
}
我来回答