例如,如果第一个发送正在进行中,第二次会覆盖前一次的数据传输,或者因为缓冲区管理不当导致数据丢失。
为了确保连续发送的正确性,你需要确保每次发送之间有足够的间隙,或者等待上次发送完成后再启动新的发送。另外,检查串口中断处理和缓冲区管理也是很重要的,因为这可能影响到数据的完整性和顺序。
所以解决办法:
1.放到一个数组一起发送
2.中间加延时(不是很推荐)
3. while(HAL_UART_GetState(&huart1) == HAL_UART_STATE_BUSY_TX);在后面加上这句