Forum: Mikrocontroller und Digitale Elektronik Landscape-Mode am STM32F429-Discovery (ILI9341)


von Uwe B. (derexponent)


Angehängte Dateien:

Lesenswert?

Hallo,

hat jemand eine Ahnung wie man auf dem STM32F429-Discovery das LCD im 
Landscape-Mode initialisieren kann ?

Der Controller ist ein ILI9341 und er wird im RGB-Mode mit HSync und 
VSync betrieben.

Ich schaffe es zwar das Display zu drehen, aber es wird Horizontal
nur der RAM-Bereich von 0 bis 240 dargestellt. Der Rest ist "weiß"


im Testbild sieht man eine Line mit 220 Pixel Länge
(Startpunkt : X=10, Y=60)

und darunter eine Linie mit 300 Pixel Länge
(Startpunkt : X=10, Y=160)

Zuvor wurde der komplette Puffer mit der Farbe grün gelöscht

hat jemand ein Beispiel mit Landscape-Mode auf dem ILI9341 ?
(falls ich meinen Code posten soll, bitte schreiben)

Gruss Uwe

von Uwe Bonnes (Gast)


Lesenswert?

Dann wende halt sinngemeass an, was hier unter "Codesammlung" -> "2.2" 
GLCD 320x240 mit ILI9341" beim Drehen gemacht wird.

von Uwe B. (derexponent)


Lesenswert?

Danke für den Hinweis
(hab die Quelle durchgelesen)

aber ich verwende das Display wie schon geschrieben
per RGB-Interface (und nicht per 16bit MCU-Interface)

und das "drehen" vom Display-RAM mit dem Befehl
"MemoryAccessControl CMD = 0x36" funktioniert ja auch
(die Schrift wird im Querformat angezeigt)

nur mein Problem ist, das nicht das komplette Bild (320 x 240)
angezeigt wird, sondern scheinbar der HSync-Impuls zu früh kommt
(schon nach 240 Pixel)
ich kann es leider hier nicht nachmessen und dachte vlt hatte jemand
schon den gleichen Fehler und kennt eine Lösung

UB

von Manfred B. (manib)


Lesenswert?


von Maik (Gast)


Lesenswert?

Uwe B. schrieb:
> und das "drehen" vom Display-RAM mit dem Befehl
> "MemoryAccessControl CMD = 0x36" funktioniert ja auch
> (die Schrift wird im Querformat angezeigt)

Ich habe das Problem im SPI-Modus ebenfalls gehabt.
Nach memory access control (0x36) müssen auch noch die Register 
column set address (0x2A) und page set address (0x2B) neu 
beschrieben werden. Wenn dort die "neue" Breite und Höhe verwendet wird, 
dann klappt es.

Viele Grüße
Maik

von Friesenmartin (Gast)


Lesenswert?

Kann das jemand bestätigen?

Bei mir scheint das nicht richtig zu gehen bzw. weiß ich nicht genau, 
mit welchen Werten ich die Register füttern muss,:-)

VG

von Friesenmartin (Gast)


Lesenswert?

Hab doch nochmal Zeit gefunden und mit Zeit kommt Rat:-)
Also ich hab jetzt das memory access control (0x36), column set address 
(0x2A) und page set address (0x2B) Register neu beschrieben wie Maik 
gesagt hat. Leider sagt danach mein Display gar nichts mehr und es wird 
auch keine Schrift mehr angezeigt:-)

Langsam komme ich an einem Punkt wo es keinen Spaß mehr macht;-)

Hat vielleicht noch jemand Hinweise?

VG

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.