diff --git a/Src/SerialPortFlagchip.c b/Src/SerialPortFlagchip.c index d4c9618..1db5c8f 100644 --- a/Src/SerialPortFlagchip.c +++ b/Src/SerialPortFlagchip.c @@ -81,7 +81,6 @@ void vSerialPortInitDMA( env->chnCfg.pSrcBuffer = &(uart->DATA); env->chnCfg.pDestBuffer = DMA_BUF; env->chnCfg.u32BlockSize = 1U; - //env->chnCfg.u32BlockSize = (UART_RX_FIFO_WATERMARK + 1U);; env->chnCfg.u16BlockCount = 1U; env->chnCfg.u8ChannelPriority = IRQ_DMA_CHANNEL_PRIORITY; env->chnCfg.eSrcDataSize = DMA_TRANSFER_SIZE_1B; @@ -95,11 +94,6 @@ void vSerialPortInitDMA( env->chnCfg.bDestAddrLoopbackEn = false; env->chnCfg.bAutoStop = false; - //env->chnCfg.bSrcCircularBufferEn = false; - //env->chnCfg.u32SrcCircBufferSize = 0U; - //env->chnCfg.bDestCircularBufferEn = false; - //env->chnCfg.u32DestCircBufferSize = 0U; - env->chnCfg.bSrcCircularBufferEn = false; env->chnCfg.u32SrcCircBufferSize = 0U; env->chnCfg.bDestCircularBufferEn = true; @@ -131,10 +125,6 @@ void vSerialPortInitDMA( if (u32PccFuncClk != 0U) { env->tInitCfg.bEnRxFullDma = true; // UART receiver full DMA disable - //env->tInitCfg.bEnRxFifo = false; // UART fifo disable - //env->tInitCfg.bEnTxFifo = true; // UART tx fifo enable - //env->tInitCfg.u8TxFifoWaterMark = 0U; // UART tx fifo 16 bytes trigger - env->tInitCfg.bEnTxFifo = true; env->tInitCfg.u8TxFifoWaterMark = 0U; @@ -266,7 +256,10 @@ void SerialPort_RxDmaBufToQueue(tSerialPortFlagchip *env, const void *pSrcBuffer } } + env->UART_DMA_RECEIVED_POINTER_BUF += env->UART_DMA_RECEIVED_LEN_BUF; env->UART_DMA_RECEIVED_LEN_BUF = 0; + if (env->UART_DMA_RECEIVED_POINTER_BUF >= env->DMA_BUF_LEN) + env->UART_DMA_RECEIVED_POINTER_BUF = 0; }