问题描述 :本地PC机与远程工控机用串口通讯。远程工控机向串口持续发送二进制数据,本地机使用labview的Visa read进行读取。在第一次读取时即发生错误,错误码-1073807253,帧错误,能得到读取的数据。查看了论坛上相关的帖子,方法无效,问题依旧。使用网上下载的串口调试助手,读取数据正常,未见错误。请教各位,错误的原因是什么,别人的串口助手为什么没报错,还是说这是visa的一个bug? 最重要的是如何解决这个问题?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
并不是这样的,半双工的意思是两边可以互传,但是同一时刻只能有一个方向的数据包;全双工的意思是两边可以互传,但是同一时刻可以有两个方向的数据包。这个并不会影响你所描述的功能。造成这些错误或者警告的原因都是因为你的工控机不管在labview执行或着关闭的状态都一直在上传数据, 另外Serial Port 的设定可能没有在从工控机取第一个字节之前设定好。因为你说用用串口调试助手是OK的,而且在程序末加个消除错误之后收数据也是OK的,所以波特率什么的应该是正常的了。我的建议是收之前清空一下缓存区,或者改变工作方式,先发个指令给工控机告诉它我这边准备好了,你可以丢数据了,然后工控机那边收到之后再发指令给你。两个方式应该都可以解决你这个需求。
一周热门 更多>