Hallo meine Herren. Ich habe ein kleines Problem. Es geht um ein Programm zur Ansteuerung eines LCD über I²C. Beim Display handelt es sich um das DOGM204-A. Das Programm an sich läuft, nur leider zeigt es auf meinem Display nichts an. An den beiden Ausgängen "wird was gemacht". Das habe ich mit einem Oszi überprüft. Ich weis nicht ob es ein Programmproblem bzw Timingproblem ist oder ob das Display einen Treffer hat. Das Programm geht auf alle Fälle in die Main, da die LED blinkt. Ich habe bereits mit dem Kontrast und auch der Baudrate gespielt. Beides ohne Erfolg. Könnte vielleicht jemand mal über den Code schauen und gucken ob er einen Fehler findet. im Moment liegt SCL bei 200kHz. Die Kurven vom Oszi hab ich auch mal mit angehangen. Verwendeter uC ist der Xmega 128A1. Viele Grüße
:
Verschoben durch User
Auf die Schnelle finde ich in deiner Code-Sammlung keine Initialisierung des Displays. Di müsste aber gemacht werden bevor du Zeichen zur Darstellung senden kannst.
Die initialisierung müsste nach dem im Manual angegebenen Schema gemacht werden ..... siehe Bild ....
Danke erstmal für die Antworten. @Quäler: diese Initialisierung im Bild ist doch aber für die 4Bit-Beschaltung!?
feg_zeven schrieb: > Danke erstmal für die Antworten. > > @Quäler: diese Initialisierung im Bild ist doch aber für die > 4Bit-Beschaltung!? Sorry aber ich finde mich in deinem Sourcen Chaos nicht zurecht. Vielleicht beschreibst du erst mal per Schaltplan in welchem Modus du das Display betreibst. Offensichtlich gibt es ja mehrere Möglichkeiten. Ja ich habe die 4-Bit Version dargestellt in der Annahme dass du den weitverbreiteten I2C-->LCD Adapter verwendest was ja scheinbar nicht der Fall ist .... ich war etwas voreilig.
Im Datenblatt gibt es vier Möglichkeiten. Unter Anderem die I2C-Variante die ich verwende. Pin 43 (SA0) liegt auf GND wodurch sich die Teilnehmeradresse 0x78 ergibt.
Also das was da raus kommt ist die Adresse + Write(Read)-Bit + Ack. Es wird die ganze Zeit diese im Bild zu sehene Frequenz gesendet. Selbst in der Initialisierungsfunktion SSD1803_init_reg, welche den Controller des LCD mit den Initialisierungswerten beschreiben soll, werden keine entsprechenden Daten raus geschickt. Er springt nicht in die ISR, welche für das schreiben in das Datenregister des TWI-Ports zuständig ist. Ich weis aber nicht warum... So ein Mist.
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.