HAL_UART_Receive_IT(&huart1, (uint8_t *)aRxBuffer, Number);意思是接收到Number个字节后,触发HAL_UART_RxCpltCallback,没收满是不会触发的.而且HAL_UART_Receive_IT是一次性的,触发完后需要时要再调用一下.条件允许的话,用DMA+空闲中断实现不定长接收. 所以在接收处理函数中写成这样: /** * 函数功能: 串口接收完成回调函数 * 输入参数: 无 * 返 回 值: 无 * 说 明:无 */vo…