HI,
I'm having an issue where the DMA TX interrupt is firing before the SPI transmit is complete. Any ideas what could be causing this? I put in a check for SSI busy to solve the issue but should my issue even exist?
I enabled my DMA interrupt as follows:
ROM_SSIIntEnable(SSI0_BASE, SSI_DMATX);
The test interrupt handler is below:
void SSI0IntHandler(void) { uint32_t ui32Status; ui32Status = ROM_SSIIntStatus(SSI0_BASE, 1); ROM_SSIIntClear(SSI0_BASE, ui32Status); if (ui32Status == SSI_DMATX) { UARTprintf("TX Ready\n"); if (SSIBusy(SSI0_BASE) == false) { ROM_uDMAChannelTransferSet(UDMA_CHANNEL_SSI0TX | UDMA_PRI_SELECT, UDMA_MODE_BASIC, g_ui8SSITxBuf, (void *)(SSI0_BASE + SSI_O_DR), sizeof(g_ui8SSITxBuf)); ROM_uDMAChannelEnable(UDMA_CHANNEL_SSI0TX); } } }
Thank you,
Daniel