MacOS で Qt5 アプリケーションを開発しています。
アプリケーションのシリアル ポート通信をテストしたいと思います。
socatを使用したいのですが、socat で作成されたポートを開くことができません: QSerialPortInfo::availablePorts()は/dev/cu-XXXXXXポートのみをリストします...
MacOS で Qt5 アプリケーションを開発しています。
アプリケーションのシリアル ポート通信をテストしたいと思います。
socatを使用したいのですが、socat で作成されたポートを開くことができません: QSerialPortInfo::availablePorts()は/dev/cu-XXXXXXポートのみをリストします...
シンボリックリンクが原因で問題が発生している可能性があります。
次のようなことを試すことができます:
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 クラスを構築することもできます。
多分それは単なる許可の問題です。アプリケーションを実行しているユーザーに、仮想ポートへのアクセス許可があることを確認してください。