/** * @brief DMA interrupt handler sub-routine. Set the waiting flag when transfer is successful * @return Nothing */ void DMA_IRQHandler(void) { if (Chip_GPDMA_Interrupt(LPC_GPDMA, dmaChSSPTx) == SUCCESS) { isDmaTxfCompleted = 1; } if (Chip_GPDMA_Interrupt(LPC_GPDMA, dmaChSSPRx) == SUCCESS) { isDmaRxfCompleted = 1; } }
/** * @brief DMA interrupt handler sub-routine * @return Nothing */ void DMA_IRQHandler(void) { if (Chip_GPDMA_Interrupt(LPC_GPDMA, dmaChannelNum) == SUCCESS) { channelTC++; } else { /* Process error here */ } }
/** * @brief GPDMA interrupt handler sub-routine * @return Nothing */ void DMA_IRQHandler(void) { uint8_t dmaChannelNum; if (isDMATx) { dmaChannelNum = dmaChannelNumTx; } else { dmaChannelNum = dmaChannelNumRx; } if (Chip_GPDMA_Interrupt(LPC_GPDMA, dmaChannelNum) == SUCCESS) { channelTC++; } else { channelTCErr++; } }
void DMA_IRQHandler(void) { NVIC_DisableIRQ(DMA_IRQn); if (Chip_GPDMA_Interrupt(LPC_GPDMA, dacInfo.dmaChannelDAC) == SUCCESS) { Chip_GPDMA_Stop(LPC_GPDMA, dacInfo.dmaChannelDAC); if(dacInfo.flagCyclic) { Chip_GPDMA_Transfer(LPC_GPDMA, dacInfo.dmaChannelDAC, (uint32_t) &dacInfo.dmaBuffer, GPDMA_CONN_DAC, GPDMA_TRANSFERTYPE_M2P_CONTROLLER_DMA, dacInfo.samples); NVIC_EnableIRQ(DMA_IRQn); } } else { NVIC_EnableIRQ(DMA_IRQn); } }