QtSerialPort示例失败

时间:2013-12-17 07:37:28

标签: c++ windows qt serial-port qtserialport

我正在使用Qt 5.1,当我的应用程序(在v4.8.4中使用QextSerialPort工作)无法通信时,我在... \ _ 5.1.1 \ Src \ qtserialport \ examples \ serialport \ terminal中尝试了该示例。这也失败了。

我有一个模拟COM端口的简单USB加密狗。如果我使用RealTerm,我可以发送AT命令并恢复正常。

但是Qt附带的终端示例不与它通信。我查看了一个API窥探器,我收到了一个失败的返回,错误为“997:正在进行重叠的I / O操作”,等待WaitCommEvent和WriteFile。

我在Windows 7上运行它,并且我将exe和DLL复制到Windows 8计算机上,但它也无法通信(尽管我没有在那里进行API监听)。

任何人都有什么想法尝试?未经修改的示例应用程序如何才能完全失败?我很困惑。

2 个答案:

答案 0 :(得分:3)

请使用可用的QtSerialPort模块尝试Qt 5.2(或尝试从git构建QtSerialPort的最新版本)。

  

我有一个简单的USB加密狗...

什么是加密狗型号? VID / PID?

  

...返回错误“997:重叠的I / O操作正在进行中..

这不是错误。

答案 1 :(得分:0)

终端示例应该有效。您可以先通过cwritersync示例工作来跟踪问题。

如果不起作用,请尝试在RX和TX线之间进行环回,这些线通常是9针串行端口的第2和第3引脚。

完成这项工作后,您可以更进一步,并尝试使用cwriterasync示例,该示例距离终端示例正在使用的步骤更近。

一旦这个工作正常,你就可以意识到终端示例你会做错了什么。它可能仍然是QtSerialPort错误,但在这种情况下,我们需要有关硬件环境的所有详细信息。

另外,在这种情况下,请确保终端示例是否在Unices上正常工作。