私がやっていることは、ゲストのUbuntuマシンのWindows 7ホストマシンから/ dev/ttys0にシリアルポートに文字列を書き込むことです。Qt5を使って仮想ポートに書き込む
私はこれをホストマシンとゲストマシンの両方でputtyを使ってテストしました。データは\。\ pipe \ COM1から/ dev/ttys0に書き込まれます。
ここでは、この仮想シリアルポートを使用して簡単なQT5プログラムを使用してゲストパテッティに文字列を書きたいと考えています。
問題は、プログラムがこのポートを開くことができないことです。以下はQtプログラムです。
#include <QtCore/QCoreApplication>
#include <QSerialPort>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QSerialPort serial;
qDebug() << " Serial communication starts .. ";
serial.setPortName("\\.\pipe\COM1");
if(serial.open(QIODevice::ReadWrite))
{
serial.setBaudRate(QSerialPort::Baud9600);
serial.setDataBits(QSerialPort::Data8);
serial.setParity(QSerialPort::NoParity);
serial.setStopBits(QSerialPort::OneStop);
serial.setFlowControl(QSerialPort::NoFlowControl);
serial.write("blah blah");
}
else
qDebug() << " Serial port isn't open : " << serial.errorString();
while(serial.canReadLine())
{
qDebug() << " serial.readLine()" ;
}
serial.close();
return a.exec();
}
デバッグの出力:
Serial communication starts ..
Serial port isn't open : "No such file or directory"
は、私はあなたが、正しく他をエスケープのdidn '\\\\。\\パイプ\\ COM1'または' R "(\\。\パイプ\ COM1)" ' – Niall
@Niallをしようとするより黒いスラッシュが必要だと思いますそれは私に "間違った機能"のシリアルエラーを与える –