QT中Modbus主机调用sendReadRequest()函数,返回指针对象不为空,也没有错误,但是却不发送finished信号,这是什么原因。
bool a = connect(Reply, &QModbusReply::finished, this, &ModbusData:: ReadReady_RemoMea);
这句信号和槽函数关联语句也被执行,a返回值为true,但是槽函数ReadReady_RemoMea()却没有执行。
下面是代码:
void ModbusData::Modbus_ReadDatas_RemoMea(int serverAddress)
{
if (!ModbusMaster)
return;
QModbusDataUnit readRequest_RemoMea(QModbusDataUnit::InputRegisters,1,100);
if ( auto *Reply = ModbusMaster->sendReadRequest( readRequest_RemoMea, serverAddress))
{
quint16 error_RemoMea = Reply->error();
qDebug() << "error_RemoMea" << error_RemoMea;
if ( !Reply->isFinished() )
{
qDebug() << "1";