Qt和虚拟串口
Qt and virtual serial ports
我按照 this 创建了一对串口。它工作正常。
现在我正在开发一个Qt应用程序(使用QtSerialPort)通过串口发送数据,我真正想要的是这样一个虚拟串口link。但似乎 QSerialPortInfo::availablePorts()
找不到 /dev/pts/... 端口。
为了在 linux 上制作这样的串口 link,我应该尝试哪种方法?
因为 /dev/pts 不是串行端口,SOCAT 创建了指向 /dev/pts 设备的符号链接。所以,都正确。
但是,使用 SOCAT 并不是一个好主意,因为它不稳定(在我的实践中,在重新打开等之后)。最好改用 tty0tty 项目(但不幸的是,QSerialPort::availablePorts() 也没有枚举它)。但这不是问题,因为tty0tty的串口可以很容易地固定为QSerialPort(需要一个小补丁)。
所以,目前还没有办法枚举这个简单的。也许在 Qt 5.6 上,将为 QSerialPort 枚举添加 tty0tty。
作为解决方法,您可以在 /dev 目录上使用 QDir 来枚举所有符号链接(当然,如果您在 /dev 目录中创建此符号链接)。
I cannot even use it?
您可以使用任何自定义串行端口名称并将其传递给 QSerialPort。
but nothing was shown by the cat side
您可以尝试使用终端示例,它是 qtserialport 示例的一部分。
ould you please tell me more about this patch?
我按照 this 创建了一对串口。它工作正常。
现在我正在开发一个Qt应用程序(使用QtSerialPort)通过串口发送数据,我真正想要的是这样一个虚拟串口link。但似乎 QSerialPortInfo::availablePorts()
找不到 /dev/pts/... 端口。
为了在 linux 上制作这样的串口 link,我应该尝试哪种方法?
因为 /dev/pts 不是串行端口,SOCAT 创建了指向 /dev/pts 设备的符号链接。所以,都正确。
但是,使用 SOCAT 并不是一个好主意,因为它不稳定(在我的实践中,在重新打开等之后)。最好改用 tty0tty 项目(但不幸的是,QSerialPort::availablePorts() 也没有枚举它)。但这不是问题,因为tty0tty的串口可以很容易地固定为QSerialPort(需要一个小补丁)。
所以,目前还没有办法枚举这个简单的。也许在 Qt 5.6 上,将为 QSerialPort 枚举添加 tty0tty。
作为解决方法,您可以在 /dev 目录上使用 QDir 来枚举所有符号链接(当然,如果您在 /dev 目录中创建此符号链接)。
I cannot even use it?
您可以使用任何自定义串行端口名称并将其传递给 QSerialPort。
but nothing was shown by the cat side
您可以尝试使用终端示例,它是 qtserialport 示例的一部分。
ould you please tell me more about this patch?