QTimer *timer = new QTimer();
connect(timer, SIGNAL(timeout()), this, SLOT(OnTimeoutSendDataToRadio1()));
timer->start(1000);
qDebug()<<"Start Timer...";
m_pSerialPortWK3 = new QSerialPort();
connect(m_pSerialPortWK3, SIGNAL(readyRead()), this, SLOT(OnDataRecvdRadio2Data())); //for Anyc
QString comPort = "/dev/ttyWK3";//Radio 1
m_pSerialPortWK3->setPortName(comPort);
m_pSerialPortWK3->setBaudRate(9600);
m_pSerialPortWK3->setDataBits(QSerialPort::Data8);
m_pSerialPortWK3->setParity(QSerialPort::NoParity);
m_pSerialPortWK3->setStopBits(QSerialPort::OneStop);
if(m_pSerialPortWK3->open(QIODevice::ReadWrite))
{
qDebug()<<"Open:"<<comPort;
}
else
{
qDebug()<<m_pSerialPortWK3->errorString();
}
void AppWork::OnDataRecvdRadio2Data()
{
QByteArray data = m_pSerialPortWK3->readAll();
if(data!="")
{
qDebug()<<"ttyWK3-Radio2 Data:"<<data;
}
}
一端通过串口给电台 发数据,另一端也通过电台 收数据,经测试验证发现 QT使用信号和槽方式读一次串口数据耗时约30ms
下面验证使用同步方式:
标签:pSerialPortWK3,Qt,QSerialPort,timer,耗时,串口,qDebug From: https://www.cnblogs.com/totogo/p/17275187.html