cancel
Showing results for 
Search instead for 
Did you mean: 

DMA UART

manoritesameer
Associate II
Posted on July 29, 2014 at 20:26

I am trying to send an array over UART using the DMA. I dont know why the DMA does not send more than 65535 elements.

Is there a restriction on the DMA for only 16Bit numbers only ?

#stm32f4 #board #discovery #rtfm #adc
3 REPLIES 3
Posted on July 29, 2014 at 21:15

0690X00000602w1QAA.jpg
Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..
manoritesameer
Associate II
Posted on July 29, 2014 at 22:11

Thanks Clive again :), Is there a way to transfer more that 65535 values using DMA UART at once. 

Posted on July 29, 2014 at 22:28

Well you can make it send data continuously by being in circular mode. You can copy to ping/pong buffers at HT/TC interrupts. Ideally you don't want to be copying data.

You can use DMA to handle 16 or 32-bit words, but this doesn't help with the USART.

The most practical solution is to simply chain DMA requests, or scatter-gather, at the TC interrupt, and light off a new request.

Sending multiple strings via USART at the end of

https://my.st.com/public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/Flat.aspx?RootFolder=https://my.st.com/public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/DMA%20Memory%20To%20UART5&FolderCTID=0x01200200770978C69A1141439FE559EB459D7580009C4E14902C3CDE46A77F0FFD06506F5B&currentviews=3149

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