Ich glaube das Problem liegt darin das entweder mein Computer oder der Hameg von einem boesen Geist besessen sind. Oder gar alle beide, aber mit einem inkompatiblen. :-)
Das Kommando zum auslesen ist jedenfalls eindeutig so:
CHAN1:DATA?
Meine Funktion zum auslesen sieht so aus:
SendString = "CHAN"; SendString += QString::number(Channel); SendString += ":DATA?\n";
//usleep(100000);
//Fuer Tests SendString = "CHAN1:DATA?\n";
MainInit::OsziDevice->OpenPort(RS232Parm->RS232_Settings);
MainInit::OsziDevice->SendQString(SendString);
Lasse ich obiges ablaufen bekomme ich jedesmal reproduzierbar die Daten vom Oszi geschickt.
Jetzt faellt natuerlich dem kundigen Programmierer auf das ich den Inhalt von SendString erst muehevoll zusammenbastel, und dann hinterher einfach billig mit denselben Daten nochmal ueberschreibe.
Das habe ich gemacht um auf die schnelle verschiedene Kommandos testen zu koennen. Kommentiere ich diese Zeile aus so laeuft wieder mein urspruenglicher Code. Und dann antwortet das Oszi nicht mehr!
Wie man aber erkennen kann sollte das Ergebnis jedesmal identisch sein. Genauer gesagt habe ich mein Oszi auch darauf verwendet mir das anzuzeigen. Es ist dasselbe!
formatting link
formatting link
Bleibt also nur die Annahme das es ein Timingproblem ist. Deshalb gibt es das auskommentierte usleep Kommando. Das habe ich mal reingenommen um das zu testen. Es macht keinen Unterschied.
Jetzt bin ich erstmal etwas ratlos. Ich glaub ich brauch ein Bier, oder mein Oszi. Also einer von uns beiden jedenfalls. :-)
In dem Zusammenhang sind mir zwei unschoene Dinge aufgefallen.
- Wie man ob in den Bildern sieht stellt das Osci bei der Decodierung die 0x0a nicht da wenn es auf ASCII eingestellt ist. Okay, das ist kein sichtbares ASCII-Zeichen, aber da haette man doch vielleicht \n oder halt 0x0a anzeigen koennen wenn es keine ASCII Entsprechung gibt.
- Ich habe die Einstellungen des Oszis gestern Abend abgespeichert und heute wieder eingelesen. Es hat aber nicht auf mein RS232 Signal getriggert. Irgendwas stimmte mit den Einstellungen nicht. Daraufhin war ich mal in den RS232 Einstellungen drin um sie mir anzuschauen, konnte aber keinen Fehler entdecken. Als ich aber dann das Einstellfenster verlassen habe, da hat auf einmal alles funktioniert. Ohne das ich was geaendert habe. Ich muss aber nochmal schauen ob sich das reproduzieren laesst.
Olaf