标题:Qt5自带的QSerialbus类使用问题
作者:search
日期:2019-10-23 12:03
内容:
现在通过自带的serialbus类使用ModbusRTU
QT += core gui
QT += serialbus serialport目前问题是发出数据后一直没有完成信号,一直不执行read_ready函数,但是下位机使用modbuspoll测试过了正常收发。reply = client->sendReadRequest(data,1);
if (reply)
{
if (!reply->isFinished())
{
connect(reply, &QModbusReply::finished, this, &learn::read_ready);
}现在运行后控制台只打印了发出的数据,没有打印返回的数据,也没提示超时接收qt.modbus: (RTU client) Sent Serial PDU: 0x0300000002
qt.modbus.lowlevel: (RTU client) Sent Serial ADU: 0x010300000002c40b想请问一下解决方法,程序是在windows平台运行的
#1 [search 10-23 20:01]
官方的文件里执行了信号与槽的连接,可是槽函数却不会执行
m_serialPort = new QSerialPort(q);
QObject::connect(&m_responseTimer, &Timer::timeout, q, [this](int timerId) {
onResponseTimeout(timerId);
});
QObject::connect(m_serialPort, &QSerialPort::readyRead, q, [this]() {
onReadyRead();
});
#2 [zxwmail 10-24 14:27]
Qt自带的modbus通讯例子先看看,