jojo ey jo kollegen was geht so ey? hoffe drücke mich korrekt aus so. ich hab das lcd display in 4-bit modus (schreiben funktioniert) und würde gern den inhalt von einer position lesen. das problem ist, ich weiß nicht wie man es im 4-bit modus richtig machen würde. ich hab was geschrieben, aber funktioniert nicht, 8 bit modus will ich nicht. ich benutz einen atmega8. ich würde mal schreiben, wie ich es sonst mache. zuerst setze ich die dd-ram addresse, um von einer stelle den inhalt zu lesen(zeile, spalte), danach warte ich auf das busy flag, setze rs und rw beide auf high und die 4 ausgänge (db4-db7) auf eingang. danach starte ich enable (signalisiere den befehl rs=1 und rw=1), schreibe den port inhalt (4-bit) in eine variable und starte wieder die enable-operation, um zu signalisieren, dass die nächsten 4 bits gelesen werden können. jedoch löscht sich der inhalt auf dem bildschirm komplett und es passiert nix mehr. hab auch eine grafik im internet gefunden, auf der es eig. auch so verdeutlicht ist, dass man 2 mal die enable leitung setzt. hier ist der link: http://www.sprut.de/electronic/lcd/lcd4bit.gif bin für jede hilfe dankbar, liebe elektro kollegen
thorbenboy schrieb: > jojo ey jo kollegen was geht so ey? > > hoffe drücke mich korrekt aus so. Nö. Ich denke du liest erst mal http://www.mikrocontroller.net/articles/Netiquette
thorbenboy schrieb: > setze rs und > rw beide auf high und die 4 ausgänge (db4-db7) auf eingang In welcher Reihenfolge? Setz mal zuerst die Datenpins als Eingänge und erst danach RW auf 1, ansonsten könntest du dir einen Kurzschluss bauen. Wichtig ist auch, dass das Lesen während des High-Plateaus des Enable-Pulses passieren sollte, also vor der fallenden Flanke. In meinen ersten Projekten, als ich die vier Datenpins immer am gleichen Port in derselben Reihenfolge verwendet habe, spielte das noch keine Rolle, weil das Lesen offenbar schneller ging als das Abfallen des Pegels am DB7. Als ich aber meine Library dann universeller programmiert habe und dementsprechend die Zugriffe komplizierter wurden, hat plötzlich das Auslesen des Busy-Flags nicht mehr funktioniert, bis ich im Timing-Diagramm gesehen habe, dass ich die Pegel zu spät abfrage.
ja, korrekt felix, das klappt schonmal mit read data. addresscounter klappt noch nicht, aber scheint evtl. ein anderer fehler zu sein. aber hab es so gemacht mit der steigenden flanke. beim timing diagramm jedoch sieht es eher aus, dass man nach der fallenden flanke lesen soll. jo und bin doch nett, oda nicht, diickaa?
jo felix, danke für deinen ratschlag, hab den shit mit der addresse hingeklatscht. danke dir dicka und dem forum
thorbenboy schrieb: > jo und bin doch nett, oda nicht, diickaa? Lern doch erst mal richtig das Schreiben. Bei der Selbsteinschätzung gibt es vielleicht noch leichte Wahrnehmungsstörungen .....
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.