Hallo, ich habe zwei HMC-16223 (laut "Datenblatt" HHD44780 kompatibel) von Pollin und Neuhold versucht an einen atmega8 anzuschließen. Das Display funktioniert, also lässt sich initialisieren und zeigt Zeichen an. Problem: es kommen nicht die eingegebenen Zeichen sondern nur Fragezeichen, Leerzeichen usw. Ich verwende das Display im 4-bit-modus, p.fleury-lib, 8mhz an atmega8l, fuses: low: ff, high: d9. die 4 freien Pins des LCDs hängen "in der Luft" (musste an dem Displaystecker ziemlich rumbiegen um ihn überhaupt auf die Lochstreifenplatine zu kriegen). Weiß da jemand Rat, wo ich zur Fehlersuche ansetzen sollte? Als nächstes wird 'ne LED angelötet :) Gruß, Frank
Frank schrieb: > Problem: es kommen nicht die eingegebenen Zeichen sondern nur > Fragezeichen, Leerzeichen usw. Und was hast du hingeschickt? Stimmt die Zeichenanzahl? Funktionieren Kommandos zur Cursorpositionierung? Läßt sich das Display löschen?
>Weiß da jemand Rat, wo ich zur Fehlersuche ansetzen sollte?
a) Display falsch angeschlossen.
b) Controller viel schneller als im Code angegeben. Timing stimmt nicht.
usw. Das übliche halt.
Hallo also: hingeschickt habe ich "0\n" bis "100\n" - löschen lässt sich das Display. Taktung müsste auch Stimmen (LED) Kursorpositionierung geht komplett daneben. Zeichen (char)0 bis 255 ausgeben klappt auch niccht (keine Anzeige). Eigentlich würde ich vermuten, dass die Datenpins falsch angeschlossen sind, aber das habe ich eigentlich schon 3x gecheckt: DataPin4..7 -> PB4..1 -> DataPin0..3 (datenblatt) -> (atmega8) -> (lib) Gruß, Frank
>Eigentlich würde ich vermuten, dass die Datenpins falsch angeschlossen >sind, aber das habe ich eigentlich schon 3x gecheckt: Auch auf Kurzschlüsse? Schreib dir ein Programm das immer nur einen Pin auf 1 setzt. Dann misst du am Display mal ALLE Pins nach ob wirklich immer nur einer (der gewünschte) 1 ist. Das machst du sieben mal und findest mit Sicherheit in 30 Minuten deinen Fehler.
Frank schrieb: > DataPin4..7 -> PB4..1 -> DataPin0..3 Bestimmt ... -> PB1..4 -> ... Oder etwa nicht? > hingeschickt habe ich "0\n" bis "100\n" - löschen lässt sich das Und was soll das Display mit dem "\n" anfangen?
doch data4..7(lcd 11..14)-> pb4..1, so liegen die pins nebeneinander und ich kann das löten :) das '\n' am Ende soll das LCD veranlassen in die nächste Zeile zu springen - hat mit der Library eigentlich immer funktioniert. Die Pins habe ich jetzt alle, wie oben empfohlen, durchgemessen - stimmen mit den angaben in der header-Datei überein. Ich hab' mal die Header-Datei angehängt. Aufgrund des fehlenden Datenblattes (ich finde nur eine Pinbelegung) kann ich nicht sagen, wie die Addressen, internen Zeilengrößen, etc. aussehen. danke für die Hilfe bisher :) Frank
:) gelöst war am Ende nur eine Riesendummheit: VCC (LCD) zwar brav verbunden (z.B. mit den I²C-Pullups) aber die Leitung ned an VCC (µC) angeschlossen :( hängt mit dem ersten Fehler, den ich ausgemacht hab' zusammen - deswegen vermutlich verdrängt. Und nochmal riesen Dankeschön für die schnelle und gezielte Hilfe :)
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.