使用Qt5写入虚拟端口

时间:2017-01-02 18:21:18

标签: c++ qt serial-port qt5

我尝试做的是将字符串写入从Windows 7主机到串行Ubuntu机器中的/ dev / ttys0的串口。

我在主机和客户机上使用putty测试了这个。数据从\。\ pipe \ COM1写入/ dev / ttys0。

现在我想使用一个简单的QT5程序,使用这个虚拟串口将一个字符串写入guest putty。

我遇到的问题是该程序无法打开此端口,下面是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"

1 个答案:

答案 0 :(得分:0)

使用Ubuntu运行虚拟机的软件是什么? 如果是VM Ware Workstation,您可以编辑VM的首选项并添加串口。