![]() |
Serielle Schnittstelle auslesen bis Stringende - 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: Serielle Schnittstelle auslesen bis Stringende (/Thread-Serielle-Schnittstelle-auslesen-bis-Stringende) Seiten: 1 2 |
Serielle Schnittstelle auslesen bis Stringende - ragingbull - 26.07.2013 08:22 Hallo zusammen, ich habe ein Problem mit einem Messgerät das ich über die RS232 abfrage. Mir wird als Messwert ein String geliefert der unterschiedlich lang sein kann. Wenn ich jetzt das Visa Read nicht genau einstelle ( wieviele Bytes will ich lesen ) dann bricht mir das Programm ab mit Timeout. Gibt es eine Möglichkeit die Serielle Schnittestelle abzufragen und auf End of Text zu reagieren? RE: Serielle Schnittstelle auslesen bis Stringende - GerdW - 26.07.2013 08:24 Hallo bull, stell doch beim SerialPortInit einfach das passende TermChar (bei dir EOT) ein... RE: Serielle Schnittstelle auslesen bis Stringende - ragingbull - 26.07.2013 08:43 Danke das wusste ich garnicht das das geht. Mein String sieht so aus. dP2000,100,500,200;#dS;#dD;1,# Auf was frage ich jetzt ab??? \r\n kann ich ja nicht eintragen da ein Integer Wert erwartet wird RE: Serielle Schnittstelle auslesen bis Stringende - GerdW - 26.07.2013 08:57 Hallo bull, du kannst aber \n eintragen (bzw. sollte das schon der Standardwert sein)! Zitat:\r\n kann ich ja nicht eintragen da ein Integer Wert erwartet wirdEs wird kein "Integer", sondern ein U8 erwartet! U8 = Char = ASCII-Wert... Zitat:Mein String sieht so aus. dP2000,100,500,200;#dS;#dD;1,#Und wo soll da das genannte \r\n sein? Hat dein String nun TermChars oder nicht? RE: Serielle Schnittstelle auslesen bis Stringende - ragingbull - 26.07.2013 09:02 Über TermChars weis ich nichts. Steht nichts in der Doku. Ich habe den Hersteller angeschrieben mit \n gehts nicht. Ich lade wohl mal das VI hoch \n\r ist End of Line RE: Serielle Schnittstelle auslesen bis Stringende - GerdW - 26.07.2013 09:04 Hallo bull, Zitat:\r\n kann ich ja nicht eintragen ... \n\r ist End of LineWas denn nun? "\r\n" oder \n\r"? Sind diese Zeichen in deinem String oder nicht? Wenn ja, in welcher Reihenfolge? \n\r ist übrigens nicht EOL! Das ist ein LF, gefolgt von CR... (ASCII) Zitat:Über TermChars weis ich nichts. Steht nichts in der Doku.TermChar nennt sich der Eingang am SerialPortInit. Zitat:Ich habe den Hersteller angeschrieben mit \n gehts nicht.Manchmal soll es helfen, Hersteller und Gerätetyp zu nennen - und wenn der OP ganz gut ist, postet er einen Link auf das Manual zur Hardware... RE: Serielle Schnittstelle auslesen bis Stringende - ragingbull - 26.07.2013 09:13 Dazu gibt es keinen Link da es eine Sonderentwicklung einer kleinen Messtechnikbude ist http://digital.ni.com/public.nsf/allkb/862567530005F09C862565BE005AB500 es ist \r\n RE: Serielle Schnittstelle auslesen bis Stringende - GerdW - 26.07.2013 09:18 Hallo bull, Zitat:es ist \r\nDann stelle \n als TermChar beim SerialPortInit ein und stelle die zu lesende Bytezahl höher als nötig beim VISARead - und gut ist... Geht es dir jetzt um den Empfang von Daten oder um das Senden von Befehlen? Dein verlinktes Dokument bezieht sich auf das Senden von Daten, du redest bisher über den Empfang von Daten... RE: Serielle Schnittstelle auslesen bis Stringende - ragingbull - 26.07.2013 09:21 Es geht mir ums empfangen. Mit \n geht es nicht. Wenn ich auf # abfragen könnte wäre ideal. Das ist immer das letzte Zeichen. Allerdings kommt das halt nicht nur einmal vor. RE: Serielle Schnittstelle auslesen bis Stringende - GerdW - 26.07.2013 09:24 Hallo bull, Zitat:Mit \n geht es nicht.Warum nicht, wenn dein String, wie du schreibst, mit \r\n abgeschlossen wird? Zitat:Wenn ich auf # abfragen könnte wäre ideal. Das ist immer das letzte Zeichen. Allerdings kommt das halt nicht nur einmal vor.Genau. Deshalb nimmt man auch ein eineindeutiges TermChar wie \n... |