cancel
Showing results for 
Search instead for 
Did you mean: 

I2S master RX with DMA transfer to memory

SKris.1616
Associate II

Hi,

I am using STM32CubeIDE for audio application development. In my application STM32 will be working as I2S Master Receiver so I wanted to collect data continuously without losing any data.

I have configured DMA with circular mode enabled.

Looking at some document with respect to stm32, I have got an answer that when we configure circular mode then DBM bit from DMA_SxCR Register should be set and followed by second memory address. but auto code genrated by the tool does not allowing for circular transfer.

DMA_SxCR -> DBM bit is set with 0 in the DMA_SetConfig function.

Can anyone help me this ASAP.

I have to avoid data loss because it is an Audio application.

Regards,

Suresh.

2 REPLIES 2

If you don't plan to change the buffers' location, you don't need to use the double-buffer mode, you can achieve a similar result simply by using both the half-complete and transfer-complete interrupts.

JW

Hi Jan,

Thanks for your suggestion.

With your suggestion I have to select use_fifo mode with half full right?

In case If i want to use two different buffer how can i do that?

Regards,

Suresh.