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

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

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

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

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

相关推荐
東方神山2 天前
【Veristand】Veristand 预编写教程目录
labview·max·veristand·ni hil
上理考研周导师4 天前
【虚拟仪器技术】labview操作指南和虚拟仪器技术习题答案(一)
labview
Gentle5864 天前
labview实现有符号位16进制转二进制补码转真值
labview
曹石8 天前
亲测Win11电脑可以安装LabVIEW的版本,及2015、2018、2020版本直接的区别
电脑·labview·win11·labview安装
LabVIEW开发8 天前
LabVIEW心音信号采集与分析系统
labview
LabVIEW开发11 天前
LabVIEW开发中的电机控制与相机像素差
数码相机·labview
LabVIEW开发13 天前
LabVIEW利用CANopen的Batch SDO写入
labview·canopen
LabVIEW开发14 天前
LabVIEW危化品仓库的安全监测系统
labview
LabVIEW开发14 天前
LabVIEW的吞雨测控系统
labview