【发布时间】:2015-08-18 11:48:14
【问题描述】:
我正在编写一个通过串行连接到 Arduino 或 Teensy 的小软件。我希望软件能够识别 USB-Serial 是否断开连接,并在再次插入时自动重新连接。
这在 Linux 下非常简单,但我什至不确定在 Windows 上是否可行,因为我发现的所有终端程序在断开连接后无法重新连接到 COM 端口而不重新启动。
我目前正在使用 QT5 QSerialPort 实现,但如果有人知道能够正确重新连接而无需重新启动程序的 C++ 类,我会在一秒钟内进行更改。
另外,如果有人知道可以自动重新连接的串行终端程序,我将不胜感激。
edit我使用的是 64 位 Win7,通常是 32 位程序。
【问题讨论】:
-
如果重新连接,为什么需要重新启动程序?我使用了类似的东西,但使用了 python,并且我使用了一个线程来通过串行端口获取数据。它工作正常。
-
你有python的示例代码吗?这在 Windows 上确实有效吗?我不知道为什么我必须重新启动,但是我尝试过的 Putty、hTerm、hyperterm 和其他 3 个工具也必须重新启动。
-
我将其发布为答案,因为它有太多字符无法发表评论。
-
典型的 USB 设备驱动程序和 5 美元的硬件无法完成这项任务,您必须花费真金白银。 始终在断开连接之前使用“安全删除硬件”托盘图标。
-
为什么这是驱动问题?断开设备后驱动程序没有卸载吗?或者它保持打开状态,因为它没有正确关闭......下面的python示例证明它可以做到。
标签: c++ windows serial-port