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