Forum: Mikrocontroller und Digitale Elektronik suche LCD Library


von Lokus P. (derschatten)


Lesenswert?

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

von Holger H. (onifred)


Lesenswert?

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

von Lokus P. (derschatten)


Lesenswert?

sonst niemand einen Tip?

von Peter D. (peda)


Lesenswert?

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

von Route_66 (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.