Bei meinem letzten Versuch, die LCD Routinen aus dem GCC Tutorial zu
benutzen hatte ich das gleiche Problem. Konnte die Zeichen nur sehen,
wenn ich mit dem Poti den Kontrast definiert einstellte und den Pin
nicht direkt auf Masse legte. Da aber mit einem älteren
Assembler-Programm alles korrekt funktionierte (ohne Kontrastregelung),
war die Hardware in Ordnung.
Im Endeffekt musste ich dann in lcd_init nach den Zeilen:
1 | // 4 Bit Modus aktivieren
|
2 | LCD_PORT &= 0xF0;
|
3 | LCD_PORT |= 0x02;
|
4 | lcd_enable();
|
noch ein
einfügen. Danach ging es mit dem C-Programm auch ohne Kontrastregelung.
(Habe danach das zusätzliche Delay im Tutorial eingefügt.)
Kann also durchaus an deiner Initialisierung liegen.
Gerhard