我在用
labview和
STM32进行串口
通信时,发现了图片中出现的问题,我通过labview向stm32发送一条指令,然后stm32向labview发送stm32读取到的设备的电压值,如图中所示,labview串口通信使用的是visa函数,stm32发送的数据正常,02 31 39 2C 30 38 35 31 2C 31 38 30 30 03是stm32向上位机发送的数据,stm32每隔一段时间发送一次数据,02 31 39 2C是帧头,后面的是电压数据;但是上位机读取数据时,发现读到的数据有时完整,有时不完整。导致我在解析数据时发生错误。请问各位高手这是什么原因引起的。我已经试过了很多方法,包括终止符和改变延时都无法解决这种问题。(stm32不止向上位机发送这一种数据,还有其他的数据,比如说电流,发送的格式除了帧头外和图中的一样,这些数据都是stm32同时发的,我这里只举了发送电压这一种情况,发送其他数据也有同样的问题)。希望各位高手帮忙解惑,我感激不尽。
这里面的两个例子都是成熟的串口操作,结构可以可以参考一下
该有的部分都不会少
你读的太快了,你底下要适当慢点,而且应该把读到的字符串链接在一起,这样即便是这次数据不全,后续数据还能补全解析
一周热门 更多>