read display data?

Gast #3204185
Derzeit lese ich mich in die Materie der LC Displays ein und will mich 
anschließend an einer kleinen Anzeige versuchen.
Im Datenblatt meines Displays->

 http://download.maritex.com.pl/pdfs/op/TG12864B-03.pdf

gibt es einen Unterpunkt(7)Read Display Data auf Seite 19, der mich mit 
der Frage beschäftigt : Zu was soll ich die Daten aus meinem Display RAM 
lesen?

Reicht doch, wenn ich die Daten nur reinschreibe und anzeigen lass :( ?
Gast #3204195
LCD schrieb:

> gibt es einen Unterpunkt(7)Read Display Data auf Seite 19, der mich mit
> der Frage beschäftigt : Zu was soll ich die Daten aus meinem Display RAM
> lesen?
>
> Reicht doch, wenn ich die Daten nur reinschreibe und anzeigen lass :( ?

Typischer Fall von sehr engem Horizont.

Stell dir einfach mal vor, du hast ein mehrzeiliges Display und willst 
den Text eine Zeile nach oben scrollen, um dann in der letzten (nummehr 
freien)  Zeile weiteren Text anzufügen.

Ohne die Möglichkeit zum Zurücklesen des Displayinhalts mußt du den 
gesamten Text zusätzlich im RAM deines Controllers vorhalten, um dies 
realisieren zu können.
Gast #3204208
Tut mir leid aber das verstehe ich nicht. Selbst wenn der Text gescrollt 
werden soll, braucht man doch nur berechnen wo er sich befinden soll und 
es nicht wissen?
#3204213
Rein theoretisch hast du recht, man müsste vom Display nicht lesen.
Jedoch ist der Speicher deines uC's nur begrenzt. Stell dir vor du 
schreibst ein kleines Spielchen für einen ATtiny85: du hast 512 Byte RAM 
und du möchtest natürlich noch etwas berechnen und zwischenspeichern.
Da wird's dann knapp und durchaus sinnvoll den Speicher des Displays 
auch auszunutzen.

Grüße
Michael
#3204214
Wenn du auf dem LCD jeden Pixel einzeln setzen/löschen kannst ist das 
egal.
Wenn du aber immer nur 1 Byte schreiben kannst wird es schwieriger.
Du musst das ganze Byte schreiben um den Pixel zu setzen, weisst aber 
nicht was vorher drinstand.
Eine Möglichkeit ist es den Bildschirminhalt komplett im RAM zu haben, 
dort das Pixel setzen/löschen
und als Bildschirmspeicher auszugeben oder, wie bei deinem Disply,
das ganze Byte lesen, das entsprechende Pixel zu setzen/löschen und 
wieder an die Stelle zu schreiben.

Holger
#3204215
LCD schrieb:
> Zu was soll ich die Daten aus meinem Display RAM
> lesen?

Im Prinzip ist diese Funktion nutzlos.
Ich hab auch nirgends LCD-Code gesehen, der diese Funktion sinnvoll 
einsetzt.

Man könnte sie dazu benutzen, um zu erkennen, ob überhaupt ein Display 
angeschlossen ist und ob der Datenbus funktioniert.
Eine Gewähr, daß das zurückgelesene Zeichen auch wirklich angezeigt 
wird, hat man damit aber nicht.
#3204240
Hallo,

eines habt ihr vergessen: Das Busyflag! Sobald der LCD-Controller 
beschäftigt ist, z.B. DDRAM-Adresse übernehmen, Zeichen ausgeben, setzt 
er das Busyflag = 1. Das frägt man/frau mit dem "Lesen-Befehl" ab. 
Üblich ist es oft, bei wenig zeitkritischen Anwendungen, z.B. 1ms zu 
warten und dann anzunehmen, dass der LCD-Controller seine Arbeit getan 
hat. Eleganter ist es aber das Busyflag (D7) abzufragen, um sobald 
dieses = 0 ist, mit dem nächsten Auftrag an den LCD-Controler 
herantreten zu können.

mfG Ottmar
#3204481
Ottmar K. schrieb:
> er das Busyflag = 1. Das frägt man/frau mit dem "Lesen-Befehl" ab.
> Üblich ist es oft, bei wenig zeitkritischen Anwendungen, z.B. 1ms zu
> warten und dann anzunehmen, dass der LCD-Controller seine Arbeit getan
> hat.

Nein, das hat mit zeitkritisch überhaupt nichts zu tun.

Es hängt allein davon ab, ob man dem Nutzer wildes Geflacker zumuten 
will oder besser eine ergonomische Updaterate (2..5/s).
Gestaltet man den Programmablauf ergonomisch, ist die CPU-Last durch das 
LCD nahe 0,nix.
Und riesige 1ms nehmen auch nur die Leute, die panische Angst vor 
Datenblättern haben.
Den langsamen Clear-Befehl nimmt eh keiner, der auf professionelle 
(flackerfreie) Ansicht Wert legt.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 13 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.