DMA transfer with variable block size

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Not applicable
Hello,

I am using DMA to transfer data between peripheral and memory.

From UART, i will receive data frames of variable length(For e.g. Sometimes 10 bytes of data and some times 20). I set the Block size to Max(For e.g. 300) and i use destination address Increment type as "Increment"

Could you please tell me how to reset the Destination address to Starting Destination address in HW registers after each frame reception? How to ensure that each received data frame is copied to starting destination address?

I tried calling function DMA003_Init and DMA003_Deinit in the event handler but this method didnn't work.

I would not like to use Software handshaking to solve this problem.

Please suggest.


Thanks and Regards,
Rahul Sharma
0 Likes
0 Replies