Hi,
habe mir die halbe Nacht wegen dem Display um die Ohren geschlagen.
Finde leider keinen Fehler. Wäre nett, wenn mal jemand einen Blick auf
meine Initsequenz werfen könnte.
1
spi_write: 0x0039
2
spi_write: 0x0014
3
spi_write: 0x0055
4
spi_write: 0x006D
5
spi_write: 0x0078
6
spi_write: 0x000F
7
spi_write: 0x0001
8
spi_write: 0x0006
Die SPI arbeitet mit 125kHz.
Angeschlossen ist das Display für 3,3V SPI wie in dem beigelegten Zettel
beschrieben:
RW und EN auf 3,3V
21-22 1uF
25-24 2,2uF
Die Signale kommen am Display an, 3,3V hat es auch, am Boost Ausgang
messe ich 6V. Beim Senden der Initsequenz ist RS auf Low, bei Data auf
High. Nach jedem Kommando warte ich 2ms.
Wenn ich das richtig verstehe, müsste ich nach der Initialisierung einen
Cursor auf dem Display sehen, oder?
Grüße
Michael
Hallo Spess,
aus welchem Datenblatt kommt das denn? Habe nur diesen Handzettel, der
dabei war. Mehr finde ich im Netz auch nicht, außer dem DS für den
ST7036, in dem aber auf SPI nur rel wenig eingegangen wird.
Hatte eben (ohne 0x38) zumindest mal was auf dem Display stehen. Wenn
ich jetzt am Boost Ausgang messe, messi ich 3,3V. Jetzt gehts allerdings
auch wieder nichtmehr.. sehr suspekt. Sieht aus, als ob der Chip in
manchen Fällen den Boost Konverter nicht einschaltet..
Grüße Michael
Ronald R. schrieb:> Hier gibt es eine schöne Library dafür:>> http://www.mculabs.com/drivers/eadogm.html
"Leider" arbeite ich unter einem AVR32 da ist das mit den Ports ein
bisschen anders. Man kommt wohl nicht drum rum ein eigenes Modul zu
schreiben.
Grüße
Michael
Michael Sonst schrieb:> "Leider" arbeite ich unter einem AVR32 da ist das mit den Ports ein> bisschen anders. Man kommt wohl nicht drum rum ein eigenes Modul zu> schreiben.
Macht doch nichts :-) Die Initialisierungssequenz z.B. kannst Du schon
mal vergleichen, siehe "void eaDogM_Initialize(void)".
Ronald R. schrieb:> Michael Sonst schrieb:>> "Leider" arbeite ich unter einem AVR32 da ist das mit den Ports ein>> bisschen anders. Man kommt wohl nicht drum rum ein eigenes Modul zu>> schreiben.>> Macht doch nichts :-) Die Initialisierungssequenz z.B. kannst Du schon> mal vergleichen, siehe "void eaDogM_Initialize(void)".
Ach so, dachte du willst mir sagen nimm die Lib ;-)
.. nichts für ungut.
In der Lib wird EN bei jedem CMD auf Low gezogen dann gleich wieder High
gesetzt. Lt diesem Zettel reicht eine direkte Verbindung mit 3,3V. Hat
da jemand Erfahrungen?
Die Sache mit dem Boost lässt mir keine Ruhe, benötigt das Display als
Kondensatoren was bestimmtes? Low ESR o.ä.?
Grüße
Hi
>aus welchem Datenblatt kommt das denn?
Aus diesem:
http://www.lcd-module.de/deu/pdf/doma/dog-m.pdf>Mehr finde ich im Netz auch nicht, außer dem DS für den>ST7036, in dem aber auf SPI nur rel wenig eingegangen wird.
Im Prinzip ist ist es auch egal, wie die Befehle in den Controller
kommen.
Es müssen nur die richtigen sein. Die Sequenz aus dem obigen Datenblatt
für 3,3V habe ich nicht getestet. Nur die für 5V. Und die passt. Evtl.
etwas mit dem Kontrast spielen.
SPI ist von der Geschwidigkeit unkritisch. Du musst nur sicherstellen,
das die Registerumschaltung wirklich erst nach dem kompletten Senden des
Bytes erfolgt.
>Nach jedem Kommando warte ich 2ms.
Eigentlich nur nach Clear und Home notwendig.
MfG Spess
Hi
>Die Sache mit dem Boost lässt mir keine Ruhe, benötigt das Display als>Kondensatoren was bestimmtes? Low ESR o.ä.?
Es reichen 1µ Keramik-Cs.
MfG Spess
Hi
>Die sind lustig, die Zeile fehlt in dem mitgeschickten Dokument!
Die Reihenfolge ist auch nicht zwingend. Das Beispiel im Datenblatt vom
ST7036 sieht auch ganz anders aus.
MfG Spess
Habe momentan leider nur Elkos zur Hand. Glaubst du das Problem könnte
daher kommen? Boost Spannung ist unverändert auf ca 3V. Heute morgen
nach dem Einschalten waren es 6V!
Grüße
Akttueller Stand ist:
Ich lasse die Initroutine in einer Schleife durchlaufen. Irgendwann
springt die VOUT Spannung auf ca 6V. Ein Cursor wird angezeigt, der bei
erneutem ausführen von Init ein Stück weiter wandert.
Kann sich jemand einen Reim drauf machen? Habe schonmal nachgesehen,
Bias set hat die die gleiche Struktur vom Kommando her. Evtl wird das
falsch interpretiert?! Befinde mich dann ja in IT00.
Grüße
Habs schlussendlich doch noch hin bekommen...
Hätte ich nicht vor 2Tagen meinen zweiten Tastkopf abgebrochen, wäre mir
wohl aufgefallen, dass der Wechsel der Daten bei der Steigenden Flanke
passiert...
Naja neuer Prozessor neues Glück. Das Framework zum AVR32 ist nicht
sonderlich durchsichtig bei manchen Parametern ;-)
Danke für eure Hilfe
Michael
Eine eigene Frage?
Dieser Thread ist über 15 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.