LabVIEWForum.de - Serielle Schnittstelle: Unterschied zwischen FIFO-Buffer und VISA-Buffer

LabVIEWForum.de

Normale Version: Serielle Schnittstelle: Unterschied zwischen FIFO-Buffer und VISA-Buffer
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich versuche die serielle Schnittstelle bzw. deren Handling zu verstehen. Unter Windows kann ich in den Hardware-Einstellungen meines COM-Ports die FIFO zwischen 1 und 14 Bytes einstellen. Das ist klar: Die HW hat einen bis zu 14 Byte großen Puffer.

Nun kann ich in VISA Seriell ebenfalls einen Puffer einstellen. Dieser kann dann richtig groß sein. Wie spielen diese beiden Puffer zusammen und machen sie das überhaupt? Meine Vorstellung ist, dass die Daten aus dem HW-Puffer in den VISA-Puffer überspielt werden, bis a) dieser gefüllt ist oder b) ein TERMCHAR auftritt. Ist das richtig?
Hallo Exle,

Zitat:Meine Vorstellung ist, dass die Daten aus dem HW-Puffer in den VISA-Puffer überspielt werden, bis a) dieser gefüllt ist
Korrekt.

Zitat: oder b) ein TERMCHAR auftritt.
Falsch.
Bei einem TermChar wird der bisher gelesene String von VISARead zurückgegeben, weitere Zeichen landen aber trotzdem im VISA-Buffer…
Ab wann können Daten in den Buffer gelangen? Wenn der Port mit Open geöffnet wurde oder erste mit Read?

Lg Ratio
Hallo Ratio,

Zitat:Ab wann können Daten in den Buffer gelangen? Wenn der Port mit Open geöffnet wurde oder erste mit Read?
Aus dem Bauch heraus: sobald du den Port geöffnet hast, landen die empfangenen Bytes im Buffer.
Das ist dann wichtig, wenn dein Gerät ständig (ohne vorherige Aufforderung) Daten sendet…
Genau das macht es auch, ich habe es auch so gelöst dass ich den Port öffne. Ich denke vom Verhalten her wird es so sein, aber ich war mir nicht sicher und die Antwort war irgendwie nirgends zu finden bei der VISA-Beschreibung/Hilfe.

Danke für deine Antwort
Referenz-URLs