QSerialPort错误:设备未打开

时间:2016-07-07 21:45:49

标签: c++ linux qt

我有一个Qt应用程序,我试图在Linux上构建。我有一个FTDI设备,我想使用我所做的Qt应用程序进行交互,但是我不断收到设备无法打开的错误消息。我已检查设备是否已连接到PC并且已连接,因为我可以从设备检索序列号,设备描述等。我也在Windows上试过这个,它没有问题,只有Linux。

顺便说一句,这是我的代码:

foreach (const QSerialPortInfo &info, QSerialPortInfo::availablePorts())
    {
        if(info.description() != "")
        {
            QSerialPort *serial = new QSerialPort(info);
            serial -> setPortName(info.portName());

            if (!serial->open(QIODevice::ReadWrite)) {
                    std::cout << "Fail to open device" << std::endl;
                }

            serial -> setDataBits(QSerialPort::Data8);
            serial -> setStopBits(QSerialPort::OneStop);
            serial -> setParity(QSerialPort::NoParity);

        }
    }

1 个答案:

答案 0 :(得分:1)

将自己添加到拨出组:

sudo usermod -a -G dialout YOURUSERNAME

sudo adduser YOURUSERNAME dialout

然后注销并再次登录以生效。