Hi Lijo,
First of all, I'd like to states that the FIFO function and DMA implementation can be both applied at the same time.
However according to your requirement of sending or receiving vary number of data, I'd like to suggest that you should not choose the DMA function,
as the DMA need to set valid number of data to send or receive before the DMA operates.
According to your general requirements, I'd like to recommend that you can use FIFO function with interrupt to make it available.
I'll appreciate that you can share more detail about your project, then I can give you more precisely support.
Have a great day,
Ping
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------