Bytes at Port - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +---- Forum: Instrument IO & VISA (/Forum-Instrument-IO-VISA) +---- Thema: Bytes at Port (/Thread-Bytes-at-Port) |
Bytes at Port - dimitri84 - 09.12.2011 12:10 Hallo zusammen, ich teste grad ein bisschen mit einem Controller rum. Der ist übern RS232 zu USB Adapter angeschlossen. Ich schreibe jetzt einen Befehl und erwarte daraufhin 1 Bytes der mir das fehlerfreie Empfangen des Befehls quittiert und anschließend 12 Bytes mit der Info. (laut Protokoll) Schreiben klappt soweit denke ich - Bytes at Port sagt mir es liegen 14 Bytes an - und die VISA Read Funktion spuckt mir 3 Bytes aus. Wieso denn nur 3, wenn doch 14 anliegen im Puffer? [attachment=37588] Gruß Dimitri RE: Bytes at Port - jg - 09.12.2011 12:45 Termination Char deaktiviert? Gruß, Jens RE: Bytes at Port - dimitri84 - 09.12.2011 12:53 (09.12.2011 12:45 )jg schrieb: Termination Char deaktiviert? OOOPS! Jens kannst du bitte das Bild mit dem Geschmiere aus meinem Beitrag löschen! Wollte eigentlich das BD hochladen und hab ein ganz falsches Bild erwischt. Kacke! Term Char ist aus ja. Aber das ist doch auch defaultmäßig aus, oder nicht? [attachment=37595] Also einfach das falsche Bild oben mit dem snippet hier ersetzen. Vielen Dank! Ok, hab die restlichen Bytes jetzt doch mit einem weiteren read danach bekommen! Warum hört die read funktion denn nach \n auf obwohl termChar aus ist? Gibt's da noch eine ähnliche Option wie TermChar? RE: Bytes at Port - Lucki - 09.12.2011 14:13 (09.12.2011 12:53 )dimitri84 schrieb: Gibt's da noch eine ähnliche Option wie TermChar?Ja, und das ist leider sehr verwirrend. Es handelt sich um die Eigenschaft "ASLR End In". Wahrscheinlich ist in Deinem Falle "Termchar" eingestellt, und dann wird "TermChar En" ignoriert. Doch lies selbt: Serial Settings:End Mode for Reads Kurzname: ASRL End In Erfordert: Base Package Klassen: Instr, Serial Instr Legt die Methode fest, mit der Leseoperationen beendet werden. Der Wert kann folgendermaßen lauten: (0) None, (1) Last Bit, (2) TermChar. Bei Auswahl von 2 ("TermChar") wird der Wert der Eigenschaft "Termination Character Enable (TermChar En)" ignoriert. Die Voreinstellung lautet 2 ("TermChar"). Beschreibung (0) None—Der Lesevorgang wird erst beendet, nachdem alle angeforderten Daten empfangen wurden (oder ein Fehler auftritt). (1) Last Bit—Der Lesevorgang wird beendet, wenn ein Zeichen mit festgelegtem letzten Bit (Last Bit) empfangen wird. (2) TermChar—Der Lesevorgang wird beendet, wenn ein als Endzeichen definiertes Zeichen empfangen wird. Werte 0 None 1 Last Bit 2 TermChar Du müsstest es auf "None" umstellen. RE: Bytes at Port - jg - 09.12.2011 14:25 Die Verwendung von "Visa Configure Serial Port" hat doch ihre Vorteile: [attachment=37597] Die macht genau das von Lucki Beschriebene... Gruß, Jens RE: Bytes at Port - dimitri84 - 10.12.2011 11:08 Spitze. Klappt! |