# HG changeset patch # User Daniel O'Connor # Date 1365915351 -34200 # Node ID ff29436c0224dc2785e9d45242e04646111cde8f # Parent 7e5916574d5e0559d0cb0f818c96a4d4a70b4c93 - Make sure the line is high before pulling low for reset. - Use delay properly to get the required delays. diff -r 7e5916574d5e -r ff29436c0224 lcd.c --- a/lcd.c Tue Apr 09 17:09:19 2013 +0930 +++ b/lcd.c Sun Apr 14 14:25:51 2013 +0930 @@ -131,9 +131,10 @@ /* Initialise LCD panel */ /* Pull reset pin low */ + GPIO_SetBits(GPIOE, GPIO_Pin_1); delay(10); GPIO_ResetBits(GPIOE, GPIO_Pin_1); - delay(500); + delay(2000); GPIO_SetBits(GPIOE, GPIO_Pin_1); delay(500); @@ -148,7 +149,7 @@ lcd_writereg(0x00e7, 0x0012); /* Set internal timing (not documented) */ lcd_writereg(0x00ef, 0x1231); /* Set internal timing (not documented) */ lcd_writereg(0x0000, 0x0001); /* Start Oscillation */ - delay(50); + delay(50000); lcd_writereg(0x0001, 0x0100); /* set SS (S720 -> S1) */ lcd_writereg(0x0002, 0x0700); /* set line inversion (B/C + EOR) */ lcd_writereg(0x0004, 0x0000); /* no resizing */ @@ -165,16 +166,16 @@ lcd_writereg(0x0011, 0x0007); /* DC1[2:0], DC0[2:0], VC[2:0] */ lcd_writereg(0x0012, 0x0000); /* VREG1OUT voltage */ lcd_writereg(0x0013, 0x0000); /* VDV[4:0] for VCOM amplitude */ - delay(200); /* Dis-charge capacitor power voltage */ + delay(200000); /* Dis-charge capacitor power voltage */ lcd_writereg(0x0010, 0x1690); /* SAP, BT[3:0], AP, DSTB, SLP, STB */ lcd_writereg(0x0011, 0x0227); /* R11h = 0x0221 at VCI = 3.3V, DC1[2:0], DC0[2:0], VC[2:0] */ - delay(50); /* delay 50ms */ + delay(50000); /* delay 50ms */ lcd_writereg(0x0012, 0x001c); /* External reference voltage= Vci; */ - delay(50); /* delay 50ms */ + delay(50000); /* delay 50ms */ lcd_writereg(0x0013, 0x1800); /* R13 = 1200 when R12 = 009D; VDV[4:0] for VCOM amplitude */ lcd_writereg(0x0029, 0x001c); /* R29 = 000C when R12 = 009D; VCM[5:0] for VCOMH */ lcd_writereg(0x002b, 0x000d); /* Frame Rate = 91Hz */ - delay(50); /* delay 50ms */ + delay(50000); /* delay 50ms */ /* Set GRAM area */ lcd_writereg(0x0050, 0x0000); /* Horizontal GRAM Start Address */