STM32F4 - USART3 Rx und DMA will nicht

Gast #2924660
Lesenswert?

Hey Leute,
hat schonmal jemand die Daten die vom USART empfangen werden per DMA 
weiter verarbeitet, also in eine Variable/Array gespeichert?

Also das Senden von Zeichen per DMA funktioniert wunderbar, nur das 
Empfangen will einfach nicht klappen.

Ich lasse mir jede Sekunde von HTerm die Zahl 123 an den STM32 schicken 
und der "Receive Data register not empty interrupt" lässt eine LED 
blinken. Das funktioniert auch.

Anschließend lasse ich die Zahl 123 über den USART auch wieder ans HTERM 
zurückschicken, es kommt aber nichts an.
Zum signalisieren ob der DMA überhaupt irgendwas verarbeitet soll sobald 
der "Streamx transfer complete interrupt" ausgelöst wird ebenfalls eine 
LED blinken, diese tut es aber nicht. Daher denke ich, dass ich 
irgendwas falsch eingestellt haben muss.

Im Anhang gibt es den Code.
Ja der sieht noch nicht so toll aus, ist noch in arbeit. Sollte aber zum 
Verständnis reichen.
Angehängte Dateien:
Gast #2941349
Lesenswert?

Hi,

Versuche mal die Stream/Channel Konfiguration wie angegeben im Reference 
Manual. Also konkret fuer Dich beim USART3: Fuer RX: Stream1 Ch4 und TX: 
Stream 3 Ch4. Auch wenn im Manual steht, dass das nur als Beispiel sei, 
hats bei mir erst mit dieser Auswahl geklappt. Intuitive Sache.

Cheers,
Philipp
Gast #2942919
Lesenswert?

Philipp schrieb:
> Versuche mal die Stream/Channel Konfiguration wie angegeben im Reference
> Manual. Also konkret fuer Dich beim USART3: Fuer RX: Stream1 Ch4 und TX:
> Stream 3 Ch4. Auch wenn im Manual steht, dass das nur als Beispiel sei,
> hats bei mir erst mit dieser Auswahl geklappt. Intuitive Sache.

Zufall das ich hier nochmal reinschaue :D
Das Problem habe ich inzwischen gelöst gehabt. Die von dir 
vorgeschlagene Einstellung habe ich auch drin ... Geändert habe ich den 
Betrieb auf Circular und Buffer als Array. Funktioniert gut mit dem 
Empfangen :)

Nochmal in meinen Code geschaut:
Keine Ahnung warum ich da noch die falsche Einstellung drin habe, macht 
gar keinen Sinn. Gar nicht gesehen gehabt ... Muss sich beim 
zusammenkopieren der Fehlerteufel eingeschlichen haben. Kein Wunder, 
dass es keine Antwort gab ^^

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