Добрый день
С помощью QSerialPortInfo получаю возможные COM ports.
Если они не заняты, то отправляю байты.
Получаю только один символ.
for (const QSerialPortInfo &info : QSerialPortInfo::availablePorts()){
if (!info.isBusy())
{
QSerialPort newSerialPort;
newSerialPort.setPortName(info.portName());
newSerialPort.setBaudRate(QSerialPort::Baud9600);
newSerialPort.setStopBits(QSerialPort::OneStop);
newSerialPort.setDataBits(QSerialPort::Data8);
newSerialPort.setParity(QSerialPort::NoParity);
newSerialPort.setFlowControl(QSerialPort::NoFlowControl);
newSerialPort.open(QIODevice::ReadWrite);
QByteArray ba;
ba.resize(5);
ba[0] = 0x55;
ba[1] = 0x55;
ba[2] = 0x00;
ba[3] = 0x00;
ba[4] = 0xaa;
newSerialPort.write(ba);
QByteArray data = newSerialPort.readAll();
qDebug() << "data" << data; // выводит только первый символ
}
}
Если все это делаю без for (const QSerialPortInfo &info : QSerialPortInfo::availablePorts()){
То получаю полноценный ответ
В чем может быть причина?