STM32F446: USART DMA-Transfer

OP #6084811
Lesenswert?
• ▲
▼
Hallo zusammen,

ich bin gerade dabei, die letzten Stunden vor der Bescherung dafür zu 
nutzen, an einem STM32F446RE einen UART auf andere Pins zu wechseln (von 
USART2 auf USART3).

Auf USART2 kann ich sowohl direkt (usart_putc()) Daten ausgeben, als 
auch per DMA (usart_put()). Letzteres funktioniert auf USART3 nicht.

Ich gehe gerade davon aus, daß ich einfach einen Flüchtigkeitsfehler 
gemacht habe.

Der Fehler äußert sich darin, daß per DMA kein einziges Zeichen 
ausgegeben wird. Der DMA Transfer Complete Interrupt wird aufgerufen, 
das Register DMA1_Stream3->NDTR zeigt aber nicht Null an.

Wer hat auch Langeweile und einen scharfen Blick?

Nachtrag: Ich habe es gefunden. Das Flag DMA_IT_TCIF6 bezieht sich auf 
den Stream 6 (wer hätte es ahnen können?).

Jetzt funktioniert alles und ich kann das Zeug in den nächsten Tagen in 
Ruhe aufräumen.

Schöne Weihnachten allen Rätselfreunden!
Angehängte Dateien:

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.