Forum: Mikrocontroller und Digitale Elektronik Nextion Display mit STM32 CubeIDE Kommunikationsproblem


von Mikrorozessorf (mikroprozessorf)


Lesenswert?

Guten Morgen zusammen,

leider habe ich einige Probleme mit dem Nextion Display.
Ich habe vor, dass das Display Daten von meinen Mikroprozessor 
(STM32G474RE) empfangen kann. Wenn ich das Nextion Display nur mit dem 
PC verbinde und den Nextion Editor nutze, funktioniert es. Also das 
Display geht an und ich kann den Text verändern.

Wenn ich das ganze aber nun über STM32CubeIDE laufen lasse und 
(HAL_UART_Transmit)Daten sende, erhält das Display die Nachricht nicht. 
Die Kommunikation funktioniert also nicht.

Angeschlossen ist es richtig. VCC Display auf VCC Mikroprozessor, GND 
auf GND, RX auf TX und TX auf RX (also überkreuzt). Fehlermeldung gibt 
es beim HAL_UART_Transmit ebenfalls keine, da bekomme ich als 
Rückmeldung HAL_Okay. Baudrate ist auf 9600. Habt Ihr noch andere Ideen, 
wie es funktionieren kann? Auf Youtube gibt es zwar Tutorials, wenn man 
diese nachbearbeitet, funktioniert die Kommunikation allerdings 
ebenfalls nicht.

Habt Ihr Tipps, woran es noch liegen könnte? Ihr würdet mir wahnsinnig 
helfen damit!

von Nemopuk (nemopuk)


Lesenswert?

Was tut sich denn auf den seriellen Leitungen zwischen Display und 
Mikrocontroller? Hast du das mit einem Oszilloskop und/oder 
Logic-Analyzer kontrolliert?

von Mikrorozessorf (mikroprozessorf)


Lesenswert?

Nein, ich habe es bislang nicht kontrolliert gehabt, habe leider heute 
keinen Logic Analyzer und Oszi vor Ort gehabt. Ich habe via PuTTy 
geschaut, ob Nachrichten ankamen. Bei den oben genannten Mikroprozessor 
nicht. Ich habe nun einen stm32f401RE genutzt. Da kommen bei PuTTy 
nachrichten bei 115200 Baud an ( die richtigen), bei 9600 Baud kommen 
nur 
▒▒▒8▒▒▒3▒▒▒3▒▒▒▒1▒▒▒1▒3:▒3▒(▒3▒.▒8▒(▒8▒1▒1▒8▒▒▒▒▒8▒3▒q▒3▒3▒(▒▒▒8▒▒▒▒▒1▒8 
▒:▒3▒'▒q  an. Ich denke der Fehler kann also damit zu tun haben. 
Wüsstest du, wieso nur zufällige komische Zahlen heraus kommt.

von Nemopuk (nemopuk)


Lesenswert?

Mikrorozessorf schrieb:
> Wüsstest du, wieso nur zufällige komische Zahlen heraus kommt.

Nein, ich bin kein Hellseher. Jetzt, wo der Fehler offensichtlich in 
deinem Programm steckt, solltest du es komplett zeigen.

von Harry L. (mysth)


Lesenswert?


von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

Pin nicht korrekt konfiguriert, DMA nicht korrekt konfiguriert (wobei du 
ja die Funktion ohne DMA nutzt), UART Baudrate oder Frame-Format falsch 
eingestellt, falscher Signalpegel, Mikrocontroller betritt Standby-Modus 
bevor die Nachricht vollständig abgeschickt ist, Interrupts nicht 
aktiviert, Peripherie-Takt nicht eingeschaltet, Prozessortakt falsch 
eingestellt oder zu ungenau (RC-Oszillator?), Inhalt der Nachricht 
fehlerhaft...

von Schwierig (ruelps)


Lesenswert?

Mikrorozessorf schrieb:
> Ich habe nun einen stm32f401RE genutzt. Da kommen bei PuTTy nachrichten
> bei 115200 Baud an ( die richtigen), bei 9600 Baud kommen nur
> ▒▒▒8▒▒▒3▒▒▒3▒▒▒▒1▒▒▒1▒3:▒3▒(▒3▒.▒8▒(▒8▒1▒1▒8▒▒▒▒▒8▒3▒q▒3▒3▒(▒▒▒8▒▒▒▒▒1▒8 
▒:▒3▒'▒q
> an.

Das Problem wird sicherlich nicht leicht zu finden sein...

von Wastl (hartundweichware)


Lesenswert?

Schwierig schrieb:
> Das Problem wird sicherlich nicht leicht zu finden sein...

Ich denke da wird das Forum hier überfordert sein.

von Klaus (feelfree)


Lesenswert?

Wastl schrieb:
> Schwierig schrieb:
>> Das Problem wird sicherlich nicht leicht zu finden sein...
>
> Ich denke da wird das Forum hier überfordert sein.

Ach was. Soll der TE halt noch die Ausgaben mit allen Bitraten zwischen 
300 und 57600 Baud Posten, dann lass ich da kurz ne KI drüber laufen und 
schwupps, wird der Fehler zu 100% gefunden.

von Nemopuk (nemopuk)


Lesenswert?

Klaus schrieb:
> dann lass ich da kurz ne KI drüber laufen und schwupps, wird der Fehler
> ... gefunden.

Wetten, dass Hinz schneller ist?

von Klaus (feelfree)


Lesenswert?

Nemopuk schrieb:
> ich bin kein Hellseher.

Wenn Du damit meinst, dass du nicht mal solche hellen, also 
offensichtlichen Probleme sehen kannst, dann muss ich dir komplett 
zustimmen.

von Mikrorozessorf (mikroprozessorf)


Lesenswert?

So kleines Update, erstmal Danke für alle Ratschläge. Mittlerweile 
funktioniert die Übertragung per PuTTy problemlos.  Die richtige Ausgabe 
wird getätigt. Nun Schritt 2 wäre es gewesen, die Daten an das Display 
zu senden. Erstmal war mein Plan zu überprüfen, ob Daten überhaupt am 
TX/RX gesendet / empfangen werden. Wollte das ganze testen, indem ich tx 
und rx verbinde und über hal transmitte und receive. Transmit klappt lt. 
Rückmeldung. Receive empfängt nichts (Timeouted nur). Da ist mein 
Gedanke, dass es am STLink liegt, da die Daten weiterhin an PuTTy 
gesendet werden.Habe dann mal die Brücke entfernt vom STLink, dann lässt 
sich das Programm aber nicht mehr Debuggen/Laufen. (Bin derzeit dabei 
mich noch einzuarbeiten, daher bitte ich um Entschuldigung, falls 
manches unlogisch ist/klingt). Jemand eine Idee, wie ich weiter 
verfahren kann?

von Mikrorozessorf (mikroprozessorf)


Lesenswert?

Update 2: ich habe jetzt ein logic Analyzer dran gehangen, die Daten 
werden vom TX gesendet. Jetzt liegt das Problem wohl am Display, welches 
die Daten nicht annimmt. Allerdings mit den Nextion Editor funktioniert 
es. Nur nimmt er die Daten wohl vom STM32 nicht an.

von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

Mikrorozessorf schrieb:
> Wollte das ganze testen, indem ich tx
> und rx verbinde und über hal transmitte und receive

Wie sorgst du dafür dass beides gleichzeitig läuft?

Mikrorozessorf schrieb:
> Da ist mein
> Gedanke, dass es am STLink liegt, da die Daten weiterhin an PuTTy
> gesendet werden

Was hat der UART mit dem ST-Link zu tun?

Mikrorozessorf schrieb:
> Habe dann mal die Brücke entfernt vom STLink

Welche?

von Nemopuk (nemopuk)


Lesenswert?

Klaus schrieb:
> Wenn Du damit meinst, dass du nicht mal solche hellen, also
> offensichtlichen Probleme sehen kannst, dann muss ich dir komplett
> zustimmen.

Wenn du das "helle, offensichtliche Problem sehen kannst", solltest du 
ihm besser helfen, anstatt mich anzupöbeln.

: Bearbeitet durch User
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.