Qt和虚拟串口

时间:2015-09-14 19:25:18

标签: linux qt qtserialport

我已经关注this以创建一对串口。它工作正常。

现在我正在开发一个Qt应用程序(使用QtSerialPort)通过串口发送数据,我真正想要的是这样一个虚拟串口链接。但似乎QSerialPortInfo::availablePorts()找不到/ dev / pts / ...端口。

我应该尝试哪种方法才能在linux上建立这样的串口?

2 个答案:

答案 0 :(得分:2)

因为/ dev / pts不是串行端口,SOCAT会为/ dev / pts设备创建符号链接。所以,一切都正确。

但是,使用SOCAT并不是一个好主意,因为它不稳定(重新打开之后等等,在我的实践中)。最好使用tty0tty项目(但不幸的是,QSerialPort :: availablePorts()也不会枚举它)。但这不是问题,因为tty0tty的串口可以很容易地修复QSerialPort(需要一个小补丁)。

所以,目前没有办法简单地列举这一点。也许在Qt 5.6上,将为QSerialPort枚举添加tty0tty。

作为解决方法,您可以在/ dev目录中使用QDir来枚举所有符号链接(当然,如果您在/ dev目录中创建此符号链接)。

答案 1 :(得分:2)

  我甚至无法使用它? 您可以使用任何自定义串行端口名称并将其传递给QSerialPort。   但是猫方没有表现出什么 您可以尝试使用Terminal示例,它是qtserialport示例的一部分。   你能告诉我更多有关这个补丁的信息吗? https://codereview.qt-project.org/#/c/125856/