summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxx <xx>2018-03-29 15:39:31 +0800
committerxx <xx>2018-03-29 15:39:31 +0800
commitd98c4ad116c4b80d8c70ff20192988dc0ad849c2 (patch)
treee5218850eccc92c7fce07ac53513000818414074
parente0314e637e9787c95d3d09bc0869226ad10d631f (diff)
[imx rt1050]修改sai edma驱动
-rw-r--r--bsp/imxrt1052-evk/Libraries/drivers/fsl_sai_edma.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/bsp/imxrt1052-evk/Libraries/drivers/fsl_sai_edma.c b/bsp/imxrt1052-evk/Libraries/drivers/fsl_sai_edma.c
index c48a5aacd1..216b6e3fab 100644
--- a/bsp/imxrt1052-evk/Libraries/drivers/fsl_sai_edma.c
+++ b/bsp/imxrt1052-evk/Libraries/drivers/fsl_sai_edma.c
@@ -91,11 +91,11 @@ static void SAI_TxEDMACallback(edma_handle_t *handle, void *userData, bool done,
sai_edma_handle_t *saiHandle = privHandle->handle;
/* If finished a blcok, call the callback function */
+ saiHandle->saiQueue[saiHandle->queueDriver].dataSize = 0;
if (saiHandle->callback)
{
(saiHandle->callback)(privHandle->base, saiHandle, kStatus_SAI_TxIdle, saiHandle->userData);
- }
- memset(&saiHandle->saiQueue[saiHandle->queueDriver], 0, sizeof(sai_transfer_t));
+ }
saiHandle->queueDriver = (saiHandle->queueDriver + 1) % SAI_XFER_QUEUE_SIZE;
/* If all data finished, just stop the transfer */
@@ -264,7 +264,7 @@ status_t SAI_TransferSendEDMA(I2S_Type *base, sai_edma_handle_t *handle, sai_tra
return kStatus_InvalidArgument;
}
- if (handle->saiQueue[handle->queueUser].data)
+ if (handle->saiQueue[handle->queueUser].dataSize)
{
return kStatus_SAI_QueueFull;
}