打开SOCAT用Qt创建的虚拟串口

时间:2014-02-18 23:17:35

标签: qt serial-port socat

我正在MacOS上开发Qt5应用程序。

我想测试我的应用程序串口通信。

我想使用socat,但我无法打开使用socat创建的端口: QSerialPortInfo :: availablePorts()仅列出 / dev / cu -XXXXXX 端口......

3 个答案:

答案 0 :(得分:2)

Socat端口创建示例:

socat  pty,link=/dev/mytty,raw  tcp:192.168.254.254:2001&

在此之后,您将获得伪端口/dev/mytty

现在您可以通过QSerialPort

引用此端口
serial = new QSerialPort("/dev/mytty");

答案 1 :(得分:1)

因为符号链接,你可能会遇到麻烦。

您可以尝试这样的事情:

QFileInfo file_info("/dev/mytty");
QSerialPort* serial = nullptr;
if (file_info.isSymLink()) {
  serial = new QSerialPort(file_info.symLinkTarget());
} else {
  serial = new QSerialPort(file_info.path());
}
serial->open(QIODevice::ReadWrite);

您还可以使用这些路径构造QSerialPortInfo类,而不是直接创建端口。

答案 2 :(得分:0)

也许它只是一个许可问题。 确保运行应用程序的用户具有访问虚拟端口的权限。