欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

用qserialport类开展串口通信,读不到写入串口的数据

更新时间: 2014-01-05 02:44:09 责任编辑: Author_N1

 

用qserialport类进行串口通信,读不到写入串口的数据
能够正确打开串口,设置参数,也能够写入,在writebuffer里能够查看到,但是读不了写入的数据。
程序如下

/***************************************************************************************************
 * \brief ouvrir_port_com()
 * ouvrir le port de com chosir, faire le setting de ce port
 * \param
 **************************************************************************************************/
void Widget::ouvrir_port_com()
{
    myCom= new QSerialPort(this);
    myCom->setPortName("COM1");

    bool ouvert=myCom ->open(QIODevice::ReadWrite);
    if(ouvert)
    {
        myCom->setBaudRate(QSerialPort::Baud57600);
        myCom->setDataBits( QSerialPort::Data8);
        myCom->setParity(QSerialPort::NoParity);
        myCom->setStopBits(QSerialPort::OneStop);
        myCom->setFlowControl(QSerialPort::NoFlowControl);
        myCom->setRequestToSend(true);
        myCom->setDataTerminalReady(true);
    }else
    {
        QMessageBox::critical(this, tr("Echec de l'ouverture"), tr("Ce port de com ne peut pas être ouvrire ") + port_com + tr("\n Ce port de com n'est pas dipnible"), QMessageBox::Ok);
        return;
    }

    connect(myCom,SIGNAL(readyRead()),this,SLOT(readCom()));

    send_command();
}
void Widget::send_command()
{
    QString x="OK?";
    myCom->write(x.toLatin1());
}

void Widget::readCom()
{
    QByteArray temp = myCom->readAll();

    ui->textBrowser->insertPlainText(temp);
}



--参考方法--
是不是通信线的问题,那就找找是不是硬件故障
--参考方法--
把断点设到发送去,单步跟踪下,看看有没有发出去,另外串口有没有打开失败,这些都要检查下,如果这些都确认无误,就找硬件原因了,

重点看通信线故障,
--参考方法--
你这需要把串口上的2、3脚连起来,也就是发送和接收脚连起来
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:44:09
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/13732/
本文WWW.DOC100.NET DOC100.NET版权所有。