Esempio n. 1
0
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);
}
Esempio n. 2
0
/* Setup DMA UART RX support, but do not queue descriptors yet */
static void dmaRXSetup(void)
{
	/* Setup UART 0 RX channel for the following configuration:
	   - Peripheral DMA request (UART 0 RX channel)
	   - Single transfer
	   - Low channel priority */
	Chip_DMA_EnableChannel(LPC_DMA, DMAREQ_USART0_RX);
	Chip_DMA_EnableIntChannel(LPC_DMA, DMAREQ_USART0_RX);
	Chip_DMA_SetupChannelConfig(LPC_DMA, DMAREQ_USART0_RX,
								(DMA_CFG_PERIPHREQEN | DMA_CFG_TRIGBURST_SNGL | DMA_CFG_CHPRIORITY(3)));
}