Загрузка данных


isFinished = false;
sai_transfer_t xfer;
xfer.data = rxBuffer;
xfer.dataSize = 30; // Убедитесь, что размер кратен размеру кадра/слова!

/* --- КРИТИЧЕСКОЕ ИСПРАВЛЕНИЕ: Сброс FIFO и DMA флагов --- */
EXAMPLE_SAI->RCSR |= SAI_RCSR_FR_MASK;  // Сброс FIFO RX
EXAMPLE_SAI->RCSR &= ~SAI_RCSR_FR_MASK;
EXAMPLE_SAI->RCSR |= SAI_RCSR_FEF_MASK; // Очистка флага ошибки FIFO
/* -------------------------------------------------------- */

if (SAI_TransferReceiveSDMA(EXAMPLE_SAI, &rxSaiSdmaHandle, &xfer) == kStatus_Success) {
    PRINTF("Data waiting...\r\n");
    // ... далее ваш код