Qt串口,当我写的时候,我看不懂我写的东西

时间:2013-11-07 08:51:51

标签: c++ qt serial-port

我可以看到我在写入缓冲区中写入的内容,但是,没有准备读取的信号,即使我使用读取功能,读取缓冲区也没有任何内容。 这是我的代码:

    void Widget::ouvrir_port_com()
{
    struct PortSettings myComSetting = {BAUD57600,DATA_8,PAR_NONE,STOP_1,FLOW_OFF,100};

    myCom = new Win_QextSerialPort(port_com,myComSetting,QextSerialBase::EventDriven);

    if(myCom ->open(QIODevice::ReadWrite))// si il est ouvert
    {
        //QMessageBox::information(this, tr("Ouvert reussi"), tr("Ce port est ouvert") + port_com, QMessageBox::Ok);
    }else// si il est pas ouvert
    {
        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::readCom()

{
    QByteArray temp = myCom->readAll();

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

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

    myCom->readyRead();
}

请帮帮我!!!!

1 个答案:

答案 0 :(得分:0)

你可以阅读souce,posix_qextserialport.cpp第147行:“POSIX还没有实现事件驱动机制” 所以你可以在100ms时新建一个计时器并进行轮询。