Gast
#6348259
Moin da draussen,
Ich hab vor einiger Zeit mal ein Programm mit Qt geschrieben welches
den USB-Port meines Oszis ausgelesen hat. Der Oszi simuliert im prinzip
eine
RS232.
Das hat auch mal funktioniert!
Mittlerweile habe ich leider einen neuen, Rechner, eine neue
Linuxinstallation und wohl auch eine neuere Qt-Version. Aktuell ist es
5.12.3, es war mal 5.7.
Folgendes passiert:
Ich loesche den Empfangsbuffer:
serial->clear(QSerialPort::Input);
serial->flush();
Ich sende dem Oszi die Aufforderung mir seinen ID-String zu schicken:
sendString(MyString);
Ich warte eine Zeit lang mit waitForReadyRead
Ich lese mit serial->readAll().
Als Antwort bekomme ich das hier:
1`1`HAMEG,HMO2022,014315064,04.531 1`1`1`
Diese 1`, also 0x31 und 0x60 sind zuviel! Die Anzahl der ueberzaehligen
Zeichen haengt von der Wartezeit ab. Warte ich also zwischen dem Buffer
loeschen und dem Senden etwas habe ich vor der Antwort mehr Fehlzeichen,
warte ich danach etwas laenger habe ich dort mehr Fehlzeichen.
Es sieht also so aus als wenn irgendwas den Buffer der virtuellen (USB!)
seriellen Schnittstelle langsam mit falschen Zeichen füllt.
Hat da jemand eine Idee woran das liegen koennte?
Olaf