void USART_TransferAbortReceiveDMA(USART_Type *base, usart_dma_handle_t *handle) { assert(NULL != handle); assert(NULL != handle->rxDmaHandle); /* Stop transfer. */ DMA_AbortTransfer(handle->rxDmaHandle); handle->rxState = kUSART_RxIdle; }
void I2C_MasterTransferAbortDMA(I2C_Type *base, i2c_master_dma_handle_t *handle) { DMA_AbortTransfer(handle->dmaHandle); /* Disable dma transfer. */ I2C_EnableDMA(base, false); /* Reset the state to idle. */ handle->state = kIdleState; }
void SPIFI_TransferAbortReceiveDMA(SPIFI_Type *base, spifi_dma_handle_t *handle) { assert(handle && (handle->dmaHandle)); /* Disable SPIFI RX DMA. */ SPIFI_EnableDMA(base, false); /* Stop transfer. */ DMA_AbortTransfer(handle->dmaHandle); handle->state = kSPIFI_Idle; }
void UART_TransferAbortReceiveDMA(UART_Type *base, uart_dma_handle_t *handle) { assert(handle); assert(handle->rxDmaHandle); /* Disable UART RX DMA. */ UART_EnableRxDMA(base, false); /* Stop transfer. */ DMA_AbortTransfer(handle->rxDmaHandle); /* Write DMA->DSR[DONE] to abort transfer and clear status. */ DMA_ClearChannelStatusFlags(handle->rxDmaHandle->base, handle->rxDmaHandle->channel, kDMA_TransactionsDoneFlag); handle->rxState = kUART_RxIdle; }
void dma_invalidate_channel(uint32_t dmaNdx, dma_handle_t *ph) { assert(dmaNdx == 0); if (ph != NULL) { DMA_AbortTransfer(ph); } }