cancel
Showing results for 
Search instead for 
Did you mean: 

stm32f4 Discovery UART Polling vs DMA Time

Henrik Baum
Associate II
Posted on August 05, 2017 at 10:44

Hello!

I Have a Problem:

I want to transmit Midi signals using my Discovery board in DMA mode because I need the processing power during the transfer. Midi is based on UART meaning I am using the UART Peripheral. 

When I transfer a data chain the Data using Polling I can send out another Data chain directly afterwards. 

But when I use DMA and transfer a Data chain I have to wait about a 5th of a second before another one can be sent. 

And I need to be able to instantly send another chain of data if I have to. 

As a reference I am using the Preconfigured Initialization code generated by the Cube MX Hal. 

I would really appriciate it if someone could help me speed the DMA post processing or whatever is happening up. I wouldn't even know why such extensive post processing would need to happen. 1/5th of a second is quite a lot.

Greetings and Thanks

Henrik

#stm32f4-discovery #polling #time #uart-dma #uart-tx
2 REPLIES 2
Jan Waclawek
Senior II
Posted on August 05, 2017 at 13:14

But when I use DMA and transfer a Data chain I have to wait about a 5th of a second before another one can be sent

How do you mean thart you wait? What happens if you don't wait?

JW

Posted on August 05, 2017 at 14:21

Sequencing in HAL? Not sure where it would pull 200ms of delay

I've posted examples using SPL which chain multiple strings continuously, with no inter-symbol gaps, so pretty sure if you use the DMA TC interrupt you can restart a new transaction transparently.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..