[elektro] LCD power up probléma
Andras Huszti
kyrk at villamvadasz.hu
Tue Dec 27 10:41:48 CET 2011
Hello!
> Mi lehet a gond?
Nekem is volt problemam a hd44780-al. Mar nem emelekszem pontosan, hogy
kozvetlen bekapcsolaskor vagy csak akkor ha ujraindult a uC de az LCD
nem. Ilyenkor nem mindig sikerult ujrainicializalni a kijelzot. 4
bitesben hasznaltam emiatt ha felbyte kozben indul ujra a uC akkor
nehezen ert szot a kijelzovel. Ketsegtelen, hogy a kijelzot is jo lenne
resetelni, tapjat a uC-vel kapcsolni.
4 vagy 8 bites uzemmodban hasznalod?
Vegulis addig sakkoztam az inittel amig jo nem lett, beraktam egy-ket RS
billegtetest az init elejere:
void init_lcd_driver(void) {
removeTimer(&busyTimer);
addTimer(&busyTimer);
delayms(500);
putDataToLCDPort(0x00);
lcdTrisOut();
E = 0;
RS = 0;
R_W = 0;
E_TRIS = OUT;
R_W_TRIS = OUT;
RS_TRIS = OUT;
Nop(); //wait for port becaus immediate read.
//resync
RS = 1;
delayms(5);
RS = 0;
delayms(5);
R_W = 1;
delayms(5);
R_W = 0;
delayms(5);
BACKLIGHT_TRIS = OUT;
lcd_backlight_on();
putDataToLCDPort(0x30); //8bit
tick_e();
delayms(5);
tick_e();
delayms(5);
tick_e();
delayms(5);
putDataToLCDPort(0x20); //4bit
tick_e();
delayms(5);
Send_Cmd_LCD(FUNCTION_SET);
Send_Cmd_LCD(ENTRY_INC);
Send_Cmd_LCD(CLR_DISP);
Send_Cmd_LCD(DISP_ON);
Send_Cmd_LCD(HOME);
}
More information about the Elektro
mailing list