Skip to main content
Henrik Baum
Associate II
August 5, 2017
Question

stm32f4 Discovery UART Polling vs DMA Time

  • August 5, 2017
  • 1 reply
  • 776 views
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
This topic has been closed for replies.

1 reply

Jan Waclawek
Visitor II
August 5, 2017
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

Tesla DeLorean
Guru
August 5, 2017
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 VenmoUp vote any posts that you find helpful, it shows what's working..