我正在MacOS上开发Qt5应用程序。
我想测试我的应用程序串口通信。
我想使用socat,但我无法打开使用socat创建的端口: QSerialPortInfo :: availablePorts()仅列出 / dev / cu -XXXXXX 端口......
答案 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)
也许它只是一个许可问题。 确保运行应用程序的用户具有访问虚拟端口的权限。