我有一个试图在 Linux 上构建的 Qt 应用程序。我有一个 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);
}
}
最佳答案
将自己添加到拨出组:
sudo usermod -a -G dialout YOURUSERNAME
或
sudo adduser YOURUSERNAME 拨出
然后注销重新登录生效。
关于c++ - QSerialPort 错误 : Device Not Open,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38255808/