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!