(13.10.2014 15:34 )Galle schrieb: Gute Idee! Fand ich damals auch am logischten, funktioniert aber nicht. Keine Ahnung warum, aber mit Bytes-at-Port geht es.
Wahrscheinlich geht es, denn:
Bei aktiviertem Termination-Char (und ja, du hast den Termination Char aktiv, da du ihn nicht explizit deaktiviert hast) liest VISA-Read solange, bis entweder der Term-Char detektiert wurde oder die Anzahl an Bytes am Eingang von Read gelesen wurde. Da du nachschaust, wieviele Bytes im Buffer sind und diese anforderst, geht es weiter.
Besser ist aber:
- Entweder mit Termination-Char arbeiten, dann eine entsprechend große Zahl am Read anschließen und VISA das Ende erkennen lassen
- oder Termination Char deaktiveren (gut bei festen Längen der Nachrichten) und dann genau die Anzahl der Bytes einer Nachricht auslesen.
Gruß, Jens