我跟着this为了创建一对串行端口。它工作正常。Qt和虚拟串行端口
现在我正在开发一个Qt应用程序(使用QtSerialPort)通过串口发送数据,而我真正想要的就是这样一个虚拟串口链接。但看起来QSerialPortInfo::availablePorts()
找不到/ dev/pts/...端口。
为了在linux上制作这样的串口链接,我应该尝试哪种方法?
我跟着this为了创建一对串行端口。它工作正常。Qt和虚拟串行端口
现在我正在开发一个Qt应用程序(使用QtSerialPort)通过串口发送数据,而我真正想要的就是这样一个虚拟串口链接。但看起来QSerialPortInfo::availablePorts()
找不到/ dev/pts/...端口。
为了在linux上制作这样的串口链接,我应该尝试哪种方法?
由于/ dev/pts不是串行端口,SOCAT会为/ dev/pts设备创建符号链接。所以,一切正确。
但是,使用SOCAT它不是一个好主意,因为它不稳定(在我的练习中重新打开之后等等)。最好使用tty0tty项目(但不幸的是,QSerialPort :: availablePorts()并没有枚举它)。但这不是问题,因为tty0tty的串行端口可以很容易地固定为QSerialPort(需要一个小补丁)。
所以,目前没有办法列举这个简单的方法。也许在Qt 5.6中,将为QSerialPort枚举添加tty0tty。
作为解决方法,您可以在/ dev目录上使用QDir来枚举所有符号链接(当然,如果您在/ dev目录中创建此符号链接)。
我甚至不能使用它?
您可以使用任何自定义串行端口名称并将其传递给QSerialPort。
,但没有被猫侧
您可以尝试使用终端例子,这是qtserialport例子部分所示。
请您告诉我更多关于此补丁的信息吗?
“不幸的是,QSerialPort :: availablePorts()不枚举它太” 意味着我甚至不能使用它呢?如果明确告诉Qt有关地址,我期望能够使用它们。我试过'cat dev/tnt1',然后在Qt中写入数据到'/ dev/tnt0',但'cat'没有显示任何内容。 – KcFnMi
“tty0tty的串行端口可以很容易地固定为QSerialPort(需要一个小补丁)”,请您告诉我更多关于此补丁的信息吗? – KcFnMi