我有一个尝试在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 dialout
然后注销并再次登录以生效。
关于c++ - QSerialPort错误:设备未打开,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38255808/