Original funktion:
void Dialog::onReadyRead()
{
if (port->bytesAvailable()) {
ui->recvEdit->moveCursor(QTextCursor::End);
ui->recvEdit->insertPlainText(QString::fromLatin1(port->readAll()));
}
}
|
Fehlerfreie Ausgabe in QTextEdit (Projektspezifische Variable mit
Wert..):
azimut_145
azimut_145
azimut_145
<usw ..>
|
Geänderte funktion:
void Dialog::onReadyRead()
{
if (port->bytesAvailable()) {
ui->recvEdit->moveCursor(QTextCursor::End);
ui->recvEdit->insertPlainText(QByteArray("some text:"));
ui->recvEdit->insertPlainText(QString::fromLatin1(port->readAll()));
}
}
|
Fehlerbehaftete Ausgabe in QTextEdit:
some text:azimut_145
some text:azimut_145
some text:azimut_145
some text:azimut_145
some text:azimut_145some text:
some text:azimut_some text:145
some text:azimusome text:t_145
some text:azsome text:imut_145
some text:azimut_145
some text:azimut_145
<usw ..>
|
Die Ausgabe erfolgt also verschachtelt und zufällig! Meine Vermutung:
Irgendwelche Threads werden parallel abgearbeitet.
Lösungsvorschläge?
Programminfos:
Qextserialport 1.2 beta
qt 5.0.1 unter qt creator 2.6.2
Gruß Stefan