STM32串口接收第一个字节的问题
请问一下用HAL库做串口接收,单步仿真,第一个字节可以接收到。全速运行第一个字节就没有了。但是把接受的数据再发出来,发现第一个字节到了最后一个字节。第一次接受的数据是23,正常
第二次接受多个字节 23 24 25 26 ,但是接收到的数据已经变成了 24 25 26 23
先单独接收所有数据,不要回复,收和发是共用一个函数据的,看看能不能收全,再发送 应该判断标志位的:
while (HAL_UART_GetState(&UartHandle) != HAL_UART_STATE_READY)
{
} 接收中断的话,应该不会有这个问题,缓冲没处理好? 全速运行的时候中间设置时间间隔,设置大概1秒的时间间隔,然后再开始接受,使用串口调试工具检测,看看是不是下一次的第一个字节到了前一个字节了, 可能需要做 狀態判斷 , 在做下一步動作 , 不然buffer的值 , 有可能就被取代 , 再加上有 ring buffer 的話 ,而 buffer 不夠大, data 就會一直覆蓋 你好,请问你这个问题当时解决了吗?我也遇到了这个问题,请赐教下
页:
[1]