Hallo,
ich habe ein Acelex STM32F407VET6 Board mit einem passenden Display von
Acelex mit ILI9341 darauf. Die Ansteuerung per FSMC funktioniert auch,
aber das Display flackert leicht bei jedem Schreibzugriff. Ein anderes
Display mit ILI9325 zum Vergleich sieht absolut ruhig aus.
An die 3V3 Versorgung habe ich noch einen 220µ Elko angeklemmt, keine
Veränderung. Im Init vom ILI9341 habe ich auch schon verschiedene
Optionen probiert, das Hintergrund flackern bleibt.
Hat hier jemand diese µC+Display Kombi und kann das bestätigen oder
wiederlegen?
Ich habe mal ein Video auf YT hochgeladen, das ist nur schwer mit der
Kamera einzufangen:
https://youtu.be/cM-VeylqiPc
Es geht mir dabei nicht um das Flackern der Textausgabe, das liegt am
Verzug zwischen Hintergrund löschen und Textausgabe. Bei zeichnen auf
der Chartfläche wird der Hintergrund nicht verändert, nur der Kurvenzug
gezeichnet.
das wars nicht. Init Code vom FSMC oder Display hatte ich auch in
Verdacht und verschiedenes probiert. Dabei ist mir wohl der STLink
gestorben weil der das Target versorgt hat. Ich hatte zwar extra noch
ein USB Kabel an das Target angeschlossen aber über den STLink floss
wohl mehr Strom.
Dann bin ich auch wieder auf meine Black Magic Probe zurückgewechselt
und siehe da - das Bild steht ruhig und das Geflacker ist weg :)
Der Display Initcode ist vom STM32duino, den benutzen mehrere Leute und
wenn der faul wäre dann wäre das sicher schon aufgefallen.
Das FSMC Init aus STM32duino/maplecore konnte ich nicht verwenden weil
ich das für mbed portiert habe und da wird die STM HAL drunter
verwendet. Da war ein ätzender Fehler drin und der Release Build
funktionierte nicht. Ich hatte die BMP verdächtigt und deshalb den
STLink von einem Nucleo Board angeklemmt. Der Fehler war aber in der
FSMC Init Struktur ein paar Felder nicht gesetzt waren und die im
Release auf ungültigen Werten standen und zu den merkwürdigsten Fehlern
geführt hatten :( Das ist in der HAL leider sehr hässlich, wenn STM
solche Strukturen in neueren Versionen erweitert und man die nicht
richtig ausfüllt bekommt man erstmal vielleicht keine Fehler, aber sehr
versteckte böse Nebeneffekte.
Jedenfalls rennt es jetzt wieder. Ich hänge trotzdem nochmal meine Inits
an, vielleicht ist ja doch noch was zu verbessern. Das Display Init von
stevestrong von STM32duino verstellt nicht viel und setzt auf defaults,
ich habe anderen code angesehen da wird schon mehr eingestellt.
FSMC Init: