首页 > 解决方案 > HAL STM32 Uart接收中断:复位接收缓冲区问题

问题描述

我使用单片机 STM32F407VGT6 IDE STM32CubeIDE。现在我正在研究一些基本操作,我对 uart 在接收数据时如何在中断模式下工作感到有点困惑。我将解释我不明白的内容:mcu 从终端接收一些数据,然后 mcu 对这些数据进行处理,最后我想“重置”接收缓冲区。缓冲区不是 1/2 或完全填充,这对我的目的来说是可以的。所以想象缓冲区填充少于 1/5。

`

while(1){
     if(HAL_UART_Receive_IT(&huart3, rxBuff, strlen(rxBuff)) != HAL_OK)
     {
            Error_Handler();
     }
     HAL_Delay(3000);
     temp = rxBuff[0];    
     if(HAL_UART_Receive_IT(&huart3, rxBuff, strlen(rxBuff)) != HAL_OK)
     {
            Error_Handler();
     }
}

`

标签: cstm32uartinterrupt-handlingstm32f4discovery

解决方案


推荐阅读