通过labview VISA串口收发数据,读取数据的长度不完整,请各位帮忙分析一下。谢谢
时间:10-02
整理:3721RD
点击:
如图,通过配置labview中VISA串口,发送固定长度的数据(32字节),然后控制器立即返回(198字节),但是我在读取串口的时候,一次性将数据读出,放在数组中,有时候会出现读取的数据长度不够,末尾的标志位和校验位偶尔会消失。这样就造成了整体数据的接受,将判断为通信故障,请问这样的问题该怎么解决?入门新手,求大神指导。
默认的终止符是oA,你看看你的数据是不是有时有这个,把默认的终止符改为其它的就好了。试一试
生产者消费者结构,加环形读取数据,不会出现丢帧问题
利用属性节点byte at port来指定字节
这个意思是说,一旦在返回数据中出现内容为 0A 这样的字节,读取就停止了是吗?
如果真是这样解释,在实际现象来看,好像讲得过去。
我觉得是一个道理,不用属性节点的话,直接给个数字,假如还没收到特定长度,会一直等待接收,直至达到。
这应该不是问题的关键,还是谢谢啦
建议还是使用环型接收,判断。这样程序的可靠性更高
环形接收是什么意思
这个是正解,学习学习
您不是一般地厉害,正巧遇到这个问题,看了您的答案解决了,谢谢您!