void DmaAbort(DMA_CHID_T dmaCh) { Chip_DMA_DisableChannel(LPC_DMA, dmaCh); while ((Chip_DMA_GetBusyChannels(LPC_DMA) & (1 << dmaCh)) != 0) {} Chip_DMA_AbortChannel(LPC_DMA, dmaCh); Chip_DMA_EnableChannel(LPC_DMA, dmaCh); }
/* Clear an error on a DMA channel */ static void dmaClearChannel(DMA_CHID_T ch) { Chip_DMA_DisableChannel(LPC_DMA, ch); while ((Chip_DMA_GetBusyChannels(LPC_DMA) & (1 << ch)) != 0) {} Chip_DMA_AbortChannel(LPC_DMA, ch); Chip_DMA_ClearErrorIntChannel(LPC_DMA, ch); }