Hallo,
ich in am verzweifeln, mein LCD Modul (4 Bit Modus) läuft manchmal
nicht an.
Vermute einen Fehler in meiner Soft.
Unten ist ein original Code Ausschnitt vom HITECH C18 Treiber aus dem
sample Verzeichnis.
Kann mir jemand bitte sagen, welchen Sinn die unten markierten Zeilen
1-8 haben ?
Habe im Datenblatt vom Controller nichts gefunden, was dem entspricht.
Gruß Dirk
/* initialize the LCD */
void
lcd_init(unsigned char mode)
{
char init_value;
fourbit = 0;
if (mode == FOURBIT_MODE){
fourbit = 1;
init_value = 0x3;
}else{
init_value = 0x3F;
}
LCD_RS = 0;
LCD_EN = 0;
LCD_RW = 0;
LCD_RS_TRIS = OUTPUT_PIN;
LCD_EN_TRIS = OUTPUT_PIN;
LCD_RW_TRIS = OUTPUT_PIN;
LCD_DATA_TRIS = OUTPUT_DATA;
DelayMs(15);
1 LCD_DATA = init_value;
2 LCD_STROBE();
3 DelayMs(5);
4 LCD_DATA = init_value;
5 LCD_STROBE();
6 DelayUs(200);
7 LCD_DATA = init_value;
8 LCD_STROBE();
if (fourbit){
LCD_WAIT; //may check LCD busy flag, or just delay a little,
depending on lcd.h
LCD_DATA = 0x2; // Set 4-bit mode
LCD_STROBE();
lcd_cmd(0x28); // Function Set
}else{
lcd_cmd(0x38);
}
lcd_cmd(0xF); //Display On, Cursor On, Cursor Blink
lcd_cmd(0x1); //Display Clear
lcd_cmd(0x6); //Entry Mode
lcd_cmd(0x80); //Initialize DDRAM address to zero
}
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.