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.