Forum: Mikrocontroller und Digitale Elektronik Problem mit Emwin und ILI9341 am STM32F407


von C. W. (chefkoch)


Lesenswert?

Hallo *,

ich habe da ein kleines Problem:

Beim Aufruf der Funktion GUI_CopyRect ist mir aufgefallen, dass es nicht 
wie gewünscht funktioniert. Es kommt nur Müll raus. Nach einigen 
Untersuchungen habe ich festgestellt, dass es an dem Auslesen des 
Farbwertes der zu kopierenden Pixel liegt. Hat jemand schonmal mit dem 
Problem, was offenbar am Flexcolor-Treiber liegt gekämpft?

Das Erstellen einer eigenen Kopierfunktion wäre zwar möglich aber 
eigentlich die letzte Variante.

von Johannes S. (Gast)


Lesenswert?

C. W. schrieb:

 Nach einigen
> Untersuchungen habe ich festgestellt, dass es an dem Auslesen des
> Farbwertes der zu kopierenden Pixel liegt.

unterstützt die HW das denn? Die Displays sind oft so angeschlossen das 
das Auslesen des Grafik RAM gar nicht geht.

von Andreas Müller (Gast)


Lesenswert?

Johannes S. schrieb:
> C. W. schrieb:
>
>  Nach einigen
>> Untersuchungen habe ich festgestellt, dass es an dem Auslesen des
>> Farbwertes der zu kopierenden Pixel liegt.
>
> unterstützt die HW das denn? Die Displays sind oft so angeschlossen das
> das Auslesen des Grafik RAM gar nicht geht.


Scherzkeks. Fürs Auslesen gibt es einen ganz normalen Befehl. Da ist es 
egal, wie das Display angeschlossen ist. Wenn also der Rest läuft, dann 
klappt auch das Lesen des Framebuffers.

von Johannes S. (Gast)


Lesenswert?

Quatschkopp. Wenn die HW das nicht unterstützt kannst du dem Display 
Befehle schicken wie du willst. Viele Displays (Arduino shields) haben 
z.B. parallele Interfaces aber keine bidirektionalen Treiber drauf. Und 
welche Hardware der TO benutzt hat er ja nicht verraten.

von C. W. (chefkoch)


Lesenswert?

Hat sich erledigt - ist ein Timingproblem. Der ILI9341 ist beim Lesen 
grottenlangsam (Faktor 10 gegenüber Schreiben). Muss beim FSMC schwer 
auf die Bremse treten

von Harry L. (mysth)


Lesenswert?

C. W. schrieb:
> Hat sich erledigt - ist ein Timingproblem. Der ILI9341 ist beim
> Lesen
> grottenlangsam (Faktor 10 gegenüber Schreiben). Muss beim FSMC schwer
> auf die Bremse treten

Kannst du bitte mal deine FSMC-Timing-Einstellungen posten?
Ich spiel auch gerade mit der selben Hardware-Kombination und emWin.

https://www.youtube.com/watch?v=02-vUJkdGzs

Harry

: Bearbeitet durch User
von Johannes S. (Gast)


Lesenswert?

für einen Treiber für die Adafruit Lib habe ich meine Initialisierung 
hier:
https://github.com/JojoS62/mbed-os-example-blinky_STM32F407VE/blob/master/lib/Adafruit_TFTLCD_16bit_STM32-master/src/Adafruit_TFTLCD_16bit_STM32.cpp

Das basiert auf dem Arduino core für dieses board. Lesen des Grafik RAM 
habe ich aber noch nicht probiert. Bei der Adress/DataSetupTime habe ich 
mich an das minimum herangetastet, sind das die Werte die für den read 
heraufgesetzt werden müssen.

von Harry L. (mysth)


Lesenswert?

Und was hat das mit STM32, emWin und FSMC zu tun?

von Johannes S. (Gast)


Lesenswert?

du hast nach der Initialisierung des FSMC gefragt, die ist da zu sehen, 
für den STM32F407.  emWin ist der Level darüber, das sollte doch jetzt 
egal sein.

von Harry L. (mysth)


Lesenswert?

Ich weis, wie man FSMC initialisiert.
Ich wollte die konkreten Timing-Parameter von C.W.

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.