Forum: Mikrocontroller und Digitale Elektronik LCD / I²C Problem mit Xplained A1


von feg_zeven (Gast)


Angehängte Dateien:

Lesenswert?

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
von Arduinoquäler (Gast)


Lesenswert?

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.

von Arduinoquäler (Gast)


Angehängte Dateien:

Lesenswert?

Die initialisierung müsste nach dem im Manual angegebenen
Schema gemacht werden .....  siehe Bild ....

von feg_zeven (Gast)


Lesenswert?

Danke erstmal für die Antworten.

@Quäler: diese Initialisierung im Bild ist doch aber für die 
4Bit-Beschaltung!?

von Arduinoquäler (Gast)


Lesenswert?

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.

von feg_zeven (Gast)


Lesenswert?

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.

von feg_zeven (Gast)


Lesenswert?

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