История изменений
Исправление dhampire, (текущая версия) :
void ComPort:writeDataSlot(const QByteArray& data)
{
qint64 bytesWritten = m_serial->write(data);
if (bytesWritten == -1) {
output_to_log(QString("Failed to write the data to port %1, error: %2").arg(m_serial->portName()).arg(m_serial->errorString()));
} else if (bytesWritten != data.size()) {
output_to_log(QString("Failed to write all the data to port %1, error: %2").arg(m_serial->portName()).arg(m_serial->errorString()));
} else if (!m_serial->waitForBytesWritten(5000)) {
output_to_log(QString("Operation timed out or an error occurred for port %1, error: %2").arg(m_serial->portName()).arg(m_serial->errorString()));
}
}
как минимум ты не проверяешь код возврата из write .... про сигнал-слоты уже написали
Исходная версия dhampire, :
/// Write data
void ComPort::slotWriteData(const QByteArray& data)
{
qint64 bytesWritten = m_serial->write(data);
//m_serial->flush();
if (bytesWritten == -1) {
output_to_log(QString("Failed to write the data to port %1, error: %2").arg(m_serial->portName()).arg(m_serial->errorString()));
} else if (bytesWritten != data.size()) {
output_to_log(QString("Failed to write all the data to port %1, error: %2").arg(m_serial->portName()).arg(m_serial->errorString()));
} else if (!m_serial->waitForBytesWritten(5000)) {
output_to_log(QString("Operation timed out or an error occurred for port %1, error: %2").arg(m_serial->portName()).arg(m_serial->errorString()));
}
}
как минимум ты не проверяешь код возврата из write .... про сигнал-слоты уже написали