通过labview VISA串口收发数据,读取数据的长度不完整,请各位帮忙分析一下。谢谢

2019-07-17 09:10发布

如图,通过配置labview中VISA串口,发送固定长度的数据(32字节),然后控制器立即返回(198字节),但是我在读取串口的时候,一次性将数据读出,放在数组中,有时候会出现读取的数据长度不够,末尾的标志位和校验位偶尔会消失。这样就造成了整体数据的接受,将判断为通信故障,请问这样的问题该怎么解决?入门新手,求大神指导。 0.jpg    1.jpg 2.jpg
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
shinesunsky
1楼-- · 2019-07-18 02:10
sushu 发表于 2016-10-20 20:05
默认的终止符是oA,你看看你的数据是不是有时有这个,把默认的终止符改为其它的就好了。试一试

这个意思是说,一旦在返回数据中出现内容为 0A 这样的字节,读取就停止了是吗?
如果真是这样解释,在实际现象来看,好像讲得过去。
sushu
2楼-- · 2019-07-17 15:02
 精彩回答 2  元偷偷看……
wjw109
3楼-- · 2019-07-17 18:58
生产者消费者结构,加环形读取数据,不会出现丢帧问题
ren472421
4楼-- · 2019-07-17 20:37
利用属性节点byte at port来指定字节
shinesunsky
5楼-- · 2019-07-18 05:49
ren472421 发表于 2016-10-21 12:48
利用属性节点byte at port来指定字节

我觉得是一个道理,不用属性节点的话,直接给个数字,假如还没收到特定长度,会一直等待接收,直至达到。
这应该不是问题的关键,还是谢谢啦
金丝猴果果
6楼-- · 2019-07-18 06:41
 精彩回答 2  元偷偷看……

一周热门 更多>