Программа виснет на ожидании флагов
Код
// Wait for both DMA0 and DMA1 to finish before verifying.
while ( !I2SDMA0Done || !I2SDMA1Done );
while ( !I2SDMA0Done || !I2SDMA1Done );
Функция прерывания void DMAHandler(void) __irq, из файла dma.c срабатывает один раз, и значение в регистре GPDMA_INT_TCSTAT равно 1. Соответственно переменная I2SDMA0Done равна 1, а I2SDMA1Done всегда равна 0. Почему так? Как сделать так, что бы программа работала правильно?