Я отправляю Response на последовательный COM-порт, отправка данных работает нормально, но для отправленных данных существует ответ в формате байтового массива.Мне нужно 7 байт данных, но я получаю только 1-й байт.
QSerialPort * serial = new QSerialPort ();
serial->setPortName(serialPortInfo.portName());
if(serial->open(QIODevice::ReadWrite)){
if(!serial->setBaudRate(QSerialPort::Baud9600))
....
....
serial->write(QByteArray::fromHex(command.toLocal8Bit()));
//the serial must remain opened
if(serial->waitForReadyRead(5000)){
//Data was returned
QByteArray datas = serial->readAll();
\
if (datas.size() == 0) {
qDebug() << "Arrived data: 0";
} else {
for (int i = 0; i < datas.size(); i++){
if (datas.at(i)) {
qDebug() << datas[i];
}
}
}
}else{
//No data
qDebug()<<"Time out";
}
//I have finish all operation
serial->close();
}else{
qDebug()<<"Serial not opened. Error: "<<serial->errorString();
}
Ожидаемый: XYZABC Фактический: X