Hi jeremyzhou.
Thank you for your reply. Yes, you are right the DMA wouldn't stop even if the description exhaust. I have done a test with handling of an interrupt flag that indicate the completion of DMA transferring.
void DMA0_DriverIRQHandler(void)
{
if (I2S_DMA->COMMON[0].INTA & (1U << I2S_DMA_TX_CHANNEL)) // Channel uses INTA flag
{
I2S_DMA->COMMON[0].INTA |= (1U << I2S_DMA_TX_CHANNEL); // Clear INTA flag
}
}
But DMA still continue to send data to I2S.
Could you explain a little bit when you are talking about it seems impossible ?
Have a great day, Serhii.