怦然心动如往昔 发表于 2019-10-22 18:40:34

QSerialBus类使用问题

想请问一下Qt带的modbus类具体用法,目前根据示例教程做的一个串口传输ModbusRTU主站,能够发送数据到下位机了,但是却等不到finish信号,无法接收下位机的返回数据啊

if (auto *reply = client->sendReadRequest(QModbusDataUnit(QModbusDataUnit::InputRegisters,1000,3),0x01))
    {
      if (!reply->isFinished())
            connect(reply, &QModbusReply::finished, this, &learn::read_ready);
      else
      {
            delete reply; // broadcast replies return immediately
            qDebug()<<"应答结束";
      }
    }

目前存在进不去 read_ready 函数问题,下位机的 modbus 从站没问题,使用 modbuspoll 测试了

怦然心动如往昔 发表于 2019-10-23 20:06:19

官方的文件里已经执行过连接,但是串口事件就是无法导致槽函数执行
m_serialPort = new QSerialPort(q);

      QObject::connect(&m_responseTimer, &Timer::timeout, q, (int timerId) {
            onResponseTimeout(timerId);
      });

      QObject::connect(m_serialPort, &QSerialPort::readyRead, q, () {
            onReadyRead();
      });
页: [1]
查看完整版本: QSerialBus类使用问题