我正在使用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监听)。
任何人都有什么想法尝试?未经修改的示例应用程序如何才能完全失败?我很困惑。
答案 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上正常工作。