STM32G474RE UART

Gast #5978874
Lesenswert?

Hallo alle miteinander,

ich versuche de UART eines STN32G474RE zum laufen zu bekommen. Da bei 
meiner Anwendung die Receive-Size im Allgemeinen nicht bekannt ist 
wollte ich von der HAL_RECEIVE Funktion weg kommen und versuche darum, 
das UART komplett ohne HAL zu implementieren. Leider funktioniert dies 
nicht. Mit HAL habe ich die Hardware bereits getestet. Senden und 
empfangen ist ohne Probleme möglich.
Die UART Konfiguration habe ich mir aus der Anleitung im Reference 
Manual und den Registereinträgen der MX_UART4_Init Funktion 
zusammengesucht.
Ich weiß, ich übersehe etwas. Allerdings weiß ich nicht was.
Könnt Ihr mir da helfen? Source Code und Reference Manual findet Ihr im 
Anhang. Ich verwende ein NUCLEOG474RE.

Vielen Dank.

Grüße
Marcel
Angehängte Dateien:
Gast #5978938
Lesenswert?

Brilliante Idee das Referenzmanual anzuhaengen.
Bei Problemen mit Windows 10 wird der naechste bestimmt
die Windows 10-ISO anhaengen.

Probleme mit den asynchronen Schnittstellen der STM32
hatte ich bisher nur im IRDA-Modus. Da hatte ich die
Registerbeschreibung aber eben nicht bis zum Ende gelesen.
Gast #5980370
Lesenswert?

Kurz:

DMA im CIRCULAR Modus betreiben und den Speicherblock als Ringpuffer 
betrachten. DMA schreibt am Ende und eine Lesefunktion nimmt Daten von 
vorne ab. Dank des IDLE Interrupts bekommt man das Ende einer Nachricht 
mit.

Ausführlich:

https://stm32f4-discovery.net/2017/07/stm32-tutorial-efficiently-receive-uart-data-using-dma/

https://community.st.com/s/feed/0D50X00009XkW2nSAF (Link zu .html Datei 
ganz oben).

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren