mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik HD61830/LC7981: Pollin-GLCD, Frage zum Treiber


Autor: Meino Cramer (mcc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin moin,

ich versuche mich gerade an einem Linux-Treiber für den HD61830/LC7981
auf einem CentiPad (AT91RM9200) für das hier schon öfters erwähnte
GLCD 16080 von Pollin.

Ich habe das LCD im Grafik-Mode initialisiert und Daten ins VRam 
geschrieben.
Die entsprechenden Write-Routinen loopen zuerst über einer 
Busy-Flag-Abfrage
und wenn die mit "not busy" zurückkomt, wird das Datum oder Instruction
geschireben.
Bevor das geschieht frage ich nach der Loop und vor dem aktuellen 
Schreiben
das Busy-Flag nocheinmal ab. Ist dieses "Busy", bekomme ich eine 
Timeout-Fehlermeldung.

Beim Booten von Linux wird diese Initialisation durchlaufen und es 
scheint
alles zu  klappen...es gibt kein Timeout.

Einiziges Problem: Ich sehe das Testpattern, welches ich in das VideoRam
schreibe, nicht.

Allerdings ist das Beschreiben des VideoRams -- also der reine 
Byte-Transfer -- auch das Einzige, was ich tue.

Muss man noch irgendwie einen zusätzlichen Zauber machen? Praktisch ein
"Jetzt bitte darstelölen"-Befehl oder etwas Ähnliches???

Das Display wurde vorher mit einem entsprechenden Moderegisterwert 
eingeschaltet...

Weiß da jemand einen Tipp?

Herzlcihen Dank schonmal im Voraus für Eure Hilfe!
Schöne Pfingsten!
mcc

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Von der Init her reichen diese Befehle:
Beitrag "Re: GrafikDisplay mit LC7981; Darstellungsprobleme"
Dann sollte auf dem Display alles erscheinen was ab Adresse 0 im 
Speicher steht.

Autor: Meino Cramer (mcc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin moin Benedict,

jau, genauso habe ich das auch gemacht, nur habe ich das Display
zuerst eingeschaltet (gleicher Datenwert) und dann den Rest gemacht.
Interessanterweise habe ich das Display jetzt soweit, dass ein 
beliebiges
Muster, welches ich in der LCD-Clear-Routine, die beim Boot des Kernels
ausgeführt wird, um den Rubbish aus dem VRam zu räumen, angezeigt wird.

Das klaapt genau einmal per Boot.
Wenn ich danach Daten ins VRam kopiere und vorher die Addressen 
zurückgesetzt habe, geschieht genau gar nichts.

Die Daten kommen aber an, was ich mir per printk aus dem Kernel 
geprinted habe...

Seltsam, das...

EIne Idee?

Vielen Dank schonmal und nochmal :) für Deine Hilfe!
Gruß
mcc

Autor: Meino Cramer (mcc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin moin,

...Fehler gefunden...meine Schuld...sorry für den Fehlalarm!

Schönen Pfingstmontag noch!
Gruß
mcc

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.