我的程序基于QSerialPort类有问题。我已经为我的蓝牙模块HC-06创建了接收应用程序(它作为串行端口连接到pc),我的应用程序已经从这个模块接收到数据,没有任何问题。现在我刚刚写了另一个应用程序,应该模拟发射机。然后我尝试使用程序Free Virtual Serial Port在两个虚拟串行端口之间创建一个桥接器。之后出现了一些问题。即使我想通过transmiter应用程序将数据写入桥接的串行端口,接收器应用程序也不会发出readyRead()信号。当我断开接收器并通过Hercules终端连接到同一端口时,所有缓冲的数据都会显示出来。
我做错了什么?有什么办法让它发挥作用吗?我在windows 7 64位上使用基于qt 5.1.1的qt creator 2.8.1。
@user3148625,
如果您谈论此软件:http://www.hhdsoftware.com/free-virtual-serial-ports
那么我不建议使用它,因为这个软件有错误(IMHO,坏软件)。
例如,在试图创建"网桥"和进一步打开端口的任何终端程序中,都将失败。
例如,我使用了Windows 8x32和一套终端程序:
- 白蚁:http://www.compuphase.com/software_termite.htm
该程序在试图打开端口时崩溃
- Tera Term Pro:http://en.sourceforge.jp/projects/ttssh2/releases/
在尝试打开端口后,该程序开始接收垃圾流,并且也崩溃了。
我确信,其他程序也会运行。即不是QtSerialPort的问题,而是"免费虚拟串行端口"软件的坏驱动程序的问题。这是一个众所周知的老问题。
因此,我建议使用com0com模拟器:http://sourceforge.net/projects/com0com/
或任何其他软件(例如Eltima软件虚拟端口的试用版)。