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