Dr. LCD
24.08.2008, 20:56
Ich versuche jetzt schon seit Ewigkeiten dieses LCD an meinem ATmega8 zum laufen zu bringen. Die Init-Funktion wird normal gestartet, das Display wird leer und beim letzten Befehl erscheint wieder nur die 1.Zeile als schwarzer Balken. Betrieben werden soll es im 8-Bit Modus und der µC läuft auf 8 Mhz. Zum Sehen was er macht, habe ich beim Befehl senden, eine LED Funktion eingebaut.
Versucht habe ich schon so ziemlich alles.
- Befehl im Code geändert: statt die 0x... andere Möglichkeiten, auch jeden Pin einzeln angeben
- Datenleitungen anders angeschloßen: umgekehrt, einzelne vertauscht, usw.
- µC erst etwas nach dem LCD einschalten
usw.
Alles bisher ohne Erfolg. Im Anhang ein Screen vom Init im Datenblatt und mein aktueller Code. Ich weiß nicht wo da der Fehler sein könnte.
Übrigens: Die Mischung zwischen delay_ms und den _delay... Funktionen müssen sein. Wenn ich nur _delay benutzen streikt der µC einfach nach dem Senden des ersten Befehls. Sobald ich _delay nur noch so oft wie im Code aufrufe läuft er durch. Auch sehr komisch, kann aber jetzt eigentlich nicht mehr das Problem sein, da er ja alle Befehle sendet.
Hinweis: Mein Code ist unter der GPLv2 freigegeben.
Versucht habe ich schon so ziemlich alles.
- Befehl im Code geändert: statt die 0x... andere Möglichkeiten, auch jeden Pin einzeln angeben
- Datenleitungen anders angeschloßen: umgekehrt, einzelne vertauscht, usw.
- µC erst etwas nach dem LCD einschalten
usw.
Alles bisher ohne Erfolg. Im Anhang ein Screen vom Init im Datenblatt und mein aktueller Code. Ich weiß nicht wo da der Fehler sein könnte.
Übrigens: Die Mischung zwischen delay_ms und den _delay... Funktionen müssen sein. Wenn ich nur _delay benutzen streikt der µC einfach nach dem Senden des ersten Befehls. Sobald ich _delay nur noch so oft wie im Code aufrufe läuft er durch. Auch sehr komisch, kann aber jetzt eigentlich nicht mehr das Problem sein, da er ja alle Befehle sendet.
Hinweis: Mein Code ist unter der GPLv2 freigegeben.