Hallo liebe Gemeinde,
Ich möchte gerne ein TFT Display mit 2,2" über SPI ansteuern.
Ich benutze ein STM32F103 mit Folgender Pin Belegung.
STM32 TFT
PA2 -> RST
PA3 -> RS
PA4 -> CS
PA5 -> SCK
PA7 -> MOSI
3.3V -> VCC
GND -> GND
Als erstes möchte ich das TFT Initialisieren. Leider komme ich damit
nicht ganz klar.
Wie sende ich denn ein Befehl ans TFT?
Schritt 1:
Ich muss CS auf Low ziehen.
Schritt 2:
Startbyte(0b01110(ID?)00) senden
Ist das erstmal so richtig?
Schritt 3:
Befehle für Initialisirung senden.
Ich hoffe ihr könnt mir erstmal sagen ob das ganze soweit richtig ist.
lg Motze
Viele dank für diesen Guten Tipp.
Mein Display hat sich initialisiert und kann auch schon clear Screen
machen.
Leider flakert es Rhytmisch. Woran kann das liegen?
Lg Motze
So das mit den Zeichen ausgeben habe ich gerade gelöst. Leider ist es
aber so das der Kontrast sehr schwach ist wenn ich die Oszillator
Frequenz erhöhe vom TFT. Ich habe sie jetzt wieder herunter gesetzt.
Jetzt flackert das TFT aber wieder. Kann es sein dass es ständig das
Bild neu Aufbaut? Kann ich das abschalten und nur dann wenn sich was
ändert neu aufbauen lassen?
mfg Motze
Leider wird auch nicht normal wie hier von links nach rechts
geschrieben, sondern von rechts nach links könnt ihr mir dort helfen?
Habe mal zwei Bilder angehangen. Das Flackern und der schlechte Kontrast
ist immer noch.
mfg Motze
Kontrast: In Grenzen mit Gamma Control.
Flackern: Mal die Versorgungsspannung mit nem Oszilloskop gemessen?
Bei meinem war die Vorwärtsspannung für die Hintergrundbeleuchtungs-LEDs
bei 3,2V und 0,1V sind am Vorwiderstand abgefallen. Ein leichter Ripple
führt dann schnell zum Flackern.
Ne habe ich noch nicht gemessen werde ich aber morgen mal machen.
Was ich halt bemerkt habe ist das, wenn ich die Oszillatorfrequenz
erhöht habe, das Flackern aufgehört hat.
Leider der Kontrast dadurch schlechter wurde.
Mir kommt es so vor dass das Bild permanent aufgebaut wird und dadurch
der Kontrast flöhten geht.
Kann ich das Bild nicht einmal aufbauen und erst wenn sich was änderte
dann wieder aufbauen?
mfg Motze
Motze schrieb:> Kann ich das Bild nicht einmal aufbauen und erst wenn sich was änderte> dann wieder aufbauen?
Selbstverständlich. Eigentlich macht man das immer so. Oder noch besser:
Du überschreibst nur die Änderungen und baust das Bild nicht komplett
neu auf.
Natürlich kommen dadurch ein paar Programm-Zeilen hinzu, aber von Nix
kommt nix. ;-)
Zumindest habe ich das so gemacht. Bibliotheken sind so 'ne Sache: Ich
musste damals eine Tortengrafik aktualisieren und nur die Änderungen neu
zeichnen. Da hatte ich nichts Fertiges gefunden.
Hi weist du auch welches Register ich verändern muss? Habe jetzt mit
fast allen rumgespielt, leider ohne Erfolg.
Aber der Kontrast ist jetzt besser geworden durch das Register:
1
Write_Command(0x10,0x0F00);
2
Write_Command(0x13,0x002A);
Beim zweiten bin ich mir nicht sicher ob ich das richtig eingestellt
habe.
Mein TFT läuft mit 3.3V.
mfg Motze
Torsten C. schrieb:> Kontrast: In Grenzen mit Gamma Control.Motze schrieb:> Hi weist du auch welches Register ich verändern muss?
Du hast doch selbst geschrieben:
> //Gamma Control> Write_Command(0x50, 0x0000);> Write_Command(0x51, 0x0C05);> Write_Command(0x52, 0x0302);> Write_Command(0x53, 0x0007);> …
Hast Du mal ins Datenblatt geschaut und nach "Gamma" gesucht?
Ich habe für meine Displays eine kleine Anwendung geschrieben, um die
RGB-Werte zu optimieren und Gamma optimal einzustellen. Da die optimalen
Werte von Glas zu Glas unterschiedlich sind, kann Dir niemand die Werte
für Dein Exemplar sagen.
Motze schrieb:> Mein TFT läuft mit 3.3V.
Wenn Ripple drauf ist, dann wie oben gesagt …
Eventuell umlöten und Backlight über 5V versorgen oder einen fetten
Kondensator an die 3,3V. Hast Du denn mal gemessen, ob Ripple drauf ist?
Hi,
ich habe ein ähnliches setup mit STM32F411 und dem ILI9225 TFT. Ich
bekomme das Ding aber nicht zum laufen. Könnte jemand die Funktion
"Write_Command(xx, xx);" posten? Ich bin mir nicht sicher ob ich die
Bytes richtig raus schiebe.
Schon mal Danke!