labview中VISA串口出现异常的解决方案

前两天在做项目时发现,当用VISA串口读取指令时出现了回复异常的情况,不管发什么东西就一直乱回,针对这个情况,后面在VISA串口中加了一个VISA寄存器清零的函数。加了之后果然好多了,不会出现乱回的情况,但是出现了少回的情况。

这里需要的是21个字节,但是回复的是6个字节,或者18个字节,这里肯定是不对的,这里试了强制回复21个字节数,但是也是不行,然后在后面加了一些字节判断和CRC校验,当验证值为正确的时,才把缓冲区的数据解析出来。

可以看到这里加了一个while循环,当读出的结果不对时,就进行重发,当到达五次时就过掉while循环,进行下一步操作,这里为了不让程序卡在此处,也加了CRC和字节数判断,来确保得到的是正确的数据。

但是这样虽然降低了错误发生情况,让用户无法察觉,但是根本的错误还是存在,后面经过大哥的指导发现,问题出现在VISA配置中没有把启用终止符这个关掉,串口读取缓冲区的时候,他会比对读出的值,如果遇到定义的这个值和预期定义的值一致,就会认为这条报文结束了,就出现了回复一半,回复不全的情况。

相关推荐
LabVIEW开发2 天前
深海高压舱里的“顺风耳“:LabVIEW 实时水声采集
网络·labview·labview知识·labview功能·labview程序
2601_962284502 天前
利用Python语言实现实验室自动化
python·自动化·数据采集·labview·科学计算
LabVIEW开发3 天前
LabVIEW字符串特殊字符检测兼容
算法·labview·labview知识·labview功能·labview程序
LabVIEW开发3 天前
LabVIEW让多个测试用例共享同一个波形图控件的实现方案
labview·labview知识·labview功能·labview程序
LabVIEW开发4 天前
LabVIEW 64位安装的位深陷阱:工具包、内存与工程兼容
数据库·labview·labview知识·labview功能·labview程序
LabVIEW开发4 天前
LabVIEW按钮按下却没有反应
labview·labview知识·labview功能·labview程序
LabVIEW开发4 天前
LabVIEW运行时动态修改控件标题
前端·labview·labview知识·labview功能·labview程序
LabVIEW开发5 天前
LabVIEW反馈节点与前馈节点:同一个结构,两种时序语义
labview·labview知识·labview功能·labview程序
LabVIEW开发6 天前
LabVIEW面向对象中的“构造与析构“方法设计:初始化与清理范式
labview·labview知识·labview功能·labview程序
LabVIEW开发6 天前
LabVIEW储能电池绝缘测试
人工智能·labview·labview知识·labview功能·labview程序