QSerialPort和虚拟端口仿真器

时间:2014-04-17 23:56:59

标签: c++ qt qt5 virtual-serial-port qtserial

我的基于QSerialPort类的程序出了问题。我已经为我的蓝牙模块HC-06(连接到PC作为串口)创建了接收器应用程序,我的应用程序已从该模块接收数据而没有任何麻烦。现在我刚刚编写了另一个应该模拟发射器的应用程序。然后我尝试使用程序Free Virtual Serial Port在两个虚拟串口之间创建一个桥接器。之后出现了一些问题。即使我通过转发器应用程序将数据写入桥接串行端口,接收器应用程序也不会发出readyRead()信号。当我通过Hercules终端取消接收并连接到同一端口时,会显示所有缓冲数据。

我做错了什么?有没有选择使它工作? 我在Windows 7 64位上使用基于qt 5.1.1的qt creator 2.8.1。

1 个答案:

答案 0 :(得分:1)

@ user3148625,

如果你谈论这个软件:http://www.hhdsoftware.com/free-virtual-serial-ports

然后我不建议使用它,因为这个软件有错误(恕我直言,坏软件)。

例如,在尝试创建“桥”并进一步通过任何终端程序打开端口时,将会失败。

E.g。我使用Windows 8x32并设置了这个终端程序:

  1. 白蚁:http://www.compuphase.com/software_termite.htm
  2. 这个程序在尝试打开端口时崩溃了

    1. Tera Term Pro:http://en.sourceforge.jp/projects/ttssh2/releases/
    2. 尝试打开端口后,该程序开始接收垃圾流并且也崩溃了。

      我确信,其他程序也会表现出来。即问题不在QtSerialPort中,而是在“Free Virtual Serial Port”软件的坏驱动程序中。这是一个古老的已知问题。

      因此我建议使用com0com模拟器:http://sourceforge.net/projects/com0com/

      或任何其他软件(例如Eltima Software虚拟端口的试用版)。