Kennt jemand eine effektive LCD-Library die ich für ein Display verwenden könnte? Angeblich soll die von Peter Fleury, die ich momentan verwende den Controller ewig lange blockieren, wenn man eine Zeichenkette an das LCD schickt weil per Busy-Loop solange gewartet wird, bis das LCD neue Zeichen annehmen kann. http://jump.to/fleury
Habe vor ein paar Tagen C Routinen geschrieben, die einen RAM Buffer verwenden. Aus diesen wird in einem Timer Int alle 10ms ein Zeichen ans Display geschickt, somit muß der Prozessor nicht auf das Display warten und kann weiter arbeiten. Display löschen geht auch ohne warten. Die Clear-Routine schreibt einfach Leerzeichen ins RAM. Rest macht wieder der TimerInt. Arbeitet mit WR/RD auf GND und 4bit BUS. Prozessor ATMega32. Habe aber erst in C angefangen zu Programmieren, deswegen trau ich mich noch nicht die Routinen zu veröffenlich. Gruß Holger
Kann man machen, ein interruptgesteuertes LCD: Beitrag "Formatierte Zahlenausgabe in C" Aber braucht man wirklich nur sehr selten. Das LCD ist nämlich nicht das Problem, sondern der Mensch ist der Bottleneck. Der Mensch ist nämlich deutlich langsamer. Soll der Mensch also das LCD auch ablesen können, ist selbst mit Delays ohne Busy-Test das LCD unter 1% CPU-Last. Peter
Hallo!
@peda
>Aber braucht man wirklich nur sehr selten.
Stimmt teilweise. Denn die Ansteuerung per INT aus einem RAM-Buffer hat
noch mehr Vorteile (vorausgesetzt man hat genügend RAM): man kann einen
virtuellen "Bildschirm" verwalten und z.B. per Cursortasten das Display
quasi als "Fenster" drüber scrollen. Man muß das Display überhaupt nicht
auslesen können - nur schreiben.
Ich habe z.B. eine Terminal-Emulation in einem AT89C2051 (128 Byte int
RAM) für ein 4*20 Display zu laufen. Da kenne ich jede RAM-Zelle
persönlich, denn der serielle Ringpuffer und der Stack kann sich ja
nicht in Luft auflösen.
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.