QT 串口自定义函数发送获取数据,函数例如下
第一个参数:串口对象,第二参数:发送的指令
定时设置,数据实际收发完整不完整。
QString CommandRun(QSerialPort *pSer1,QString cmd)
{
QByteArray byte_arr;
QString cmds = cmd;
pSer1->write((cmds+"\r\n").toLatin1());发送数据
pSer1->flush();
QThread::msleep(100);//根据实际需要自己设置定时时间
QByteArray buf;
pSer1->waitForReadyRead(3000); //超时设置
buf = pSer1->readAll();//接收数据
QThread::msleep(100);
QString bufstr;
bufstr.prepend(buf);
qDebug() << bufstr;
pSer1->flush();
buf.clear();
return bufstr;
}