QByteArray message;
message.resize(7);
message[0] = (char)':';
message[1] = 0x1A;
message[2] = 0x03;
message[3] = 0x00;
message[4] = 0x00;
message[5] = 0x00;
message[6] = 0x04;
serialport->write(message);
вот код и он всегда передает только ":" даже если вторым параметром указать число байт, пробовал на собранной самим библиотеке на qt4 и в оригинальной на qt5 .
Вот конфиг порта
serialport->setPortName("COM6");
if(!serialport->open(QIODevice::ReadWrite) )
{
QMessageBox *msg = new QMessageBox();
msg->setText("fail");
msg->show();
}
serialport->setBaudRate(QSerialPort::Baud9600);
serialport->setDataBits(QSerialPort::Data8);
serialport->setStopBits(QSerialPort::OneStop);
serialport->setFlowControl(QSerialPort::NoFlowControl);
serialport->setParity(QSerialPort::NoParity);
}
Вообще нужно просто передать ModBus ASCII запрос