INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

lesen von der seriellen schnittstelle



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

14.09.2005, 15:21
Beitrag #15

Oliver Listing Offline
LVF-Freak
****


Beiträge: 721
Registriert seit: Sep 2004

2012 und 2014 (Windows und Linux)
1998
EN

22844
Deutschland
lesen von der seriellen schnittstelle
Hi roman,

klar gibt es da ein nettes VI für:
FunctionsInstrument I/OVISAVISA AdvancedInterface SpecificVISA Flush I/O Buffer

Zu deiner Frage im anderen Post "serielle schnittstelle" kann ich dir nur nochmal folgendes deutlicher erklären, was ich oben schon geschrieben habe:
Oliver Frank schrieb:Ich würde aber zum erkennen eines Fehlers die VISA Optionen nutzen, die dir geboten werden:
- sendet dein Gerät (ganz zufällig) ein Endezeichen mit (z.B. n, rn oder ähnliches)??? Dann solltest du dies in der Initialisierungs Funktion auch einstellen.
Folglich brauchtest du nur noch sagen "ließ 100 Zeichen" und LabVIEW stoppt die read Funktion automatisch bei erkanntem Endezeichen.
Du hast oben bei der Funktion VISA Configure Serial Port drei wichtige Anschlüsse, die dir die Möglichkeit bieten auf ein Rahmenendezeichen zu reagieren.

Rahmenendezeichen: Viele Geräte schicken nicht nur die bloße Antwort zurück, sondern Signalisieren auch noch zusätzlich das Ende der Antwort. Dieses zusätzliche Zeichen ist Teil des Protokolls über die Schnittstelle und wird immer mitgesendet. Da man die gesamten Zeichen, die gesendet wurden als Rahmen bezeichnet, heißt dieses Zeichen Rahmenendezeichen (zu engl. termination char)
Per Default ist das Termination Char bei LV auf 0xA bzw n oder LF eingestellt. Damit LV nun aber nicht immer dieses Zeichen erwartet kann man es zusätzlich mit Enable Termination Char aktivieren.

Der read-Funktion wird nun am Eingang byte count eine hohe nicht zu erwartende Zahl angelegt (z.B. 1000). Die Funktion wartet jetzt entweder bis:
a) 1000 Zeichen am Eingangsbuffer angekommen sind
B) das Termination Char empfangen wurde oder
c) die eingestellte Timeout Zeit verstrichen ist.

Da die Byte Count-Zahl bewust zu groß gewählt wurde, bricht die Funktion also mit empfangen des Termination Char ab und übergibt somit einen kompletten Rahmen. Dieser kann dann noch überprüft werden (Länge, ev. Checksumme, usw.) und für gültig erklärt und zur Weiterverarbeitung gegeben werden.

Also kurz gesagt, genau das, was du brauchst...

Gruß
Oliver

P.s. darf ich nun deine beiden Posts zusammenfügen - sie behandeln doch offentsichtlich nur ein Problem, oder?

Edit: Es ist vollbracht - ich hoffe nun können wir die Hilfe etwas bündeln, dann erklären nicht zwie Leute in zwei Posts das gleiche...
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
lesen von der seriellen schnittstelle - Oliver Listing - 14.09.2005 15:21

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  VISA: I/O Fehler beim Auslesen einer seriellen Schnittstelle konne 5 7.613 19.07.2017 13:04
Letzter Beitrag: konne
  Alle seriellen Schnittstellen auslesen Exl 1 5.062 01.04.2017 16:41
Letzter Beitrag: GerdW
  Modul am seriellen Port ansprechen Charly82 2 5.920 22.05.2016 07:34
Letzter Beitrag: Charly82
  Daten von Seriellen Port in While-Schleife auswerten Bensch 4 6.263 26.10.2015 11:28
Letzter Beitrag: Bensch
  Problem bei seriellen Schnittstellen gammel 7 7.366 27.10.2014 13:01
Letzter Beitrag: gammel
  Lesen der seriellen Schnittstelle EIA-232 (RS232) AnhTeo 4 7.285 06.09.2011 03:15
Letzter Beitrag: AnhTeo

Gehe zu: