用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);
}