[C] 纯文本查看 复制代码 uint32_t remainBytes_InDmaRx = 0;
if ((__HAL_UART_GET_FLAG(&huart6, UART_FLAG_IDLE) != RESET))
{
__HAL_UART_CLEAR_IDLEFLAG(&huart6);
/* Get remain bytes in DMA rx counts. */
remainBytes_InDmaRx = __HAL_DMA_GET_COUNTER(huart6.hdmarx);
HAL_UART_AbortReceive(&huart6);
RxRing_Write(&dmaRxBuffer[0], (RECV_BUFF_SIZE - remainBytes_InDmaRx));
HAL_UART_Receive_DMA(&huart6, dmaRxBuffer, RECV_BUFF_SIZE);
}
HAL_UART_IRQHandler(&huart6);
|