Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt 为什么是;“可写”;使用QSerialport返回false?_Qt_Ubuntu_Serial Port - Fatal编程技术网

Qt 为什么是;“可写”;使用QSerialport返回false?

Qt 为什么是;“可写”;使用QSerialport返回false?,qt,ubuntu,serial-port,Qt,Ubuntu,Serial Port,我在mac上的QT creator中有一个工作程序,可以使用QSerialport写出FTDI电缆。然而,当我在QT creator的ubuntu上运行完全相同的程序时,“isWriteable”bool返回false。该程序的所有其他方面在mac和ubuntu上运行相同。(ftdi驱动程序安装在ubuntu上) 下面是不断返回false的代码部分: if(FTDI->isWritable()) { FTDI->putChar(gyroX); } 有人知道这是什么原因吗?i

我在mac上的QT creator中有一个工作程序,可以使用QSerialport写出FTDI电缆。然而,当我在QT creator的ubuntu上运行完全相同的程序时,“isWriteable”bool返回false。该程序的所有其他方面在mac和ubuntu上运行相同。(ftdi驱动程序安装在ubuntu上)

下面是不断返回false的代码部分:

if(FTDI->isWritable())
{
    FTDI->putChar(gyroX);
}

有人知道这是什么原因吗?

isWritable()的文档状态:

这是一个方便的功能,用于检查设备的OpenMode是否包含
WriteOnly
标志

另请参见
openMode()


那么,您是否使用正确的标志打开设备?您应该使用
WriteOnly
ReadWrite
(其中包含WriteOnly)或其他包含
WriteOnly

的工具打开它。您可以检查QSerialPort::error()函数并查看它返回的内容。如果它不返回QSerialPort::NoError,则说明有问题。可能是权限或一般设备错误?