LabVIEW

时间:2017-06-26 10:11:03

标签: serial-port labview

我使用LabVIEW(版本7.0)通过串行连接控制设备。它使用USB连接,并作为虚拟串行端口安装在计算机上(运行Windows XP)。当我的程序发送命令时,我的设备偶尔会崩溃,并且它不能再接受任何输入(设备本身也会停止工作),直到它超时为止。

我使用Portmon查看了串口流量。每当设备崩溃时,串行驱动程序都会使用我的程序发送四次而不是一次发送的命令,中间使用IOCTL_SERIAL_GET_COMMSTATUS命令。我无法看到最后一个命令返回的内容,但我认为之前的通信中发生了一些事情。我认为我的端口配置并不完全正确,但我不知道如何或为什么。每当我想写一些内容时,我都会打开并关闭与设备的连接。

为了完整性'故:它的波特率为9600,8位,无奇偶校验,1个停止位,无流量控制。我知道这些参数的正确设置取决于设备,但制造商未提供任何推荐设置。

1 个答案:

答案 0 :(得分:0)

驱动程序是某种类型的DLL?如果是这样,这是您问题的最可能来源,您可能需要联系驱动程序的作者。 LabVIEW确实有崩溃的错误,但到目前为止,简单通信应用程序中最常见的崩溃源是一个有缺陷的第三方DLL。

换句话说,我怀疑这是一个LabVIEW问题,如果你编写一个C程序与这个驱动程序通信,你会遇到同样的困难。我只知道你在这里发布了关于你的系统的内容,但经过多年追查这些问题,我将从设备制造商/驱动程序作者开始。

如果您有相反的证据,请分享。