查看完整版本: [-- QT Android操作串口问题 --]

QTCN开发网 -> Qt移动平台开发 -> QT Android操作串口问题 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

sinoward 2018-03-28 15:44

QT Android操作串口问题

使用QSerialPort操作串口时,老是打开串口失败,提示Permission error while creating lock file。
应该是串口操作权限问题,有没有同学碰到过,解决了该问题。
共享一下。

15145093145 2018-03-29 09:25
用linux api作,我现在项目就是qt for android   serialport

bool ComMgr::open()
{
#ifdef Q_OS_ANDROID
    if(m_fd != -1)
        ::close(m_fd);

    char* com = g_sysVar->m_strCom.toLatin1().data();
    m_fd = ::open((char*)com, O_RDWR|O_NONBLOCK);
    if (m_fd == -1)
    {
        AddInfo("COM:  open is failed<1>");
        return false;
    }

    termios serialAttr;
    memset(&serialAttr, 0, sizeof serialAttr);
    serialAttr.c_iflag = IGNPAR;
    serialAttr.c_cflag= B115200| HUPCL| CS8|CREAD|CLOCAL;
    serialAttr.c_cc[VMIN] = 1;

    if (tcsetattr(m_fd, TCSANOW, &serialAttr) != 0) {
        AddInfo("COM:  open is failed<2>");
        return false;
    }

    m_notifier = new QSocketNotifier(m_fd, QSocketNotifier::Read, this);
    QObject::connect (m_notifier, SIGNAL(activated(int)), this, SLOT(slt_notifyNewData()));
#endif
    return true;
}


查看完整版本: [-- QT Android操作串口问题 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled