LabVIEWForum.de
Ganzes Datenbyte über serielle Schnittstelle übertragen - 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: Ganzes Datenbyte über serielle Schnittstelle übertragen (/Thread-Ganzes-Datenbyte-ueber-serielle-Schnittstelle-uebertragen)



Ganzes Datenbyte über serielle Schnittstelle übertragen - Lucki - 11.02.2009 17:38

Zwischen und Mikrokontroller-System und dem PC mit LabVIEW sollen alls 5 ms Datenpakete übertragen werden, die immer gleich lang sind.
Es funktioniert auch soweit, allerdings ist die Übertragunskapazität fast erschöpft.
Die Daten werden jetzt im ASCII-HEX-Format übertragen, zur Synschronisierung des Datenflusses dient der TermChar CR am Ende eines Datenpaketes. Also es wird gewissermassen immer eine Zeile Text übertragen.

Zur Steigerung des Durchflusses wäre es wünschesnwert, wenn die Bytes direkt gesendet werden könnten und nicht ASCII-codiert. Also für die Übertagung der 8-Byte Zahl 255 diese Zahl direkt als 1 serielles Byte und nicht als zwei ASCII-Zeichen FF.
Ist auch kein Problem, bloß dann habe ich ja den TermChar nicht mehr als Synchonisationzeichen zur Verfügung. Wie steuere ich den Datenfluß? Hat da jemand Erfahrungen?
Es kommen z.b immer genau 30 Bytes unmittelbar aufeinanderfolgend an, und dann gibt es eine Pause, bevor die nächsten 30 Bytes kommen. Wie kann ich das synchronisieren? Ich meine damit, daß ich beim Einlesen die Bytes 1-30 einlese und nicht die Bytes 16-30 des ersten Datenblockes und die byte 1-15 des zweiten Datenblockes?


Ganzes Datenbyte über serielle Schnittstelle übertragen - IchSelbst - 11.02.2009 19:07

' schrieb:Wie steuere ich den Datenfluß?
Mit einem gesicherten Protokoll.

Von einer Synchronisierung alleine über Zeit, z.B. Zeichenverzugszeit etc., rate ich ab.

Guckst du zuerst hier.


Ganzes Datenbyte über serielle Schnittstelle übertragen - IchSelbst - 11.02.2009 19:30

' schrieb:Mit einem gesicherten Protokoll.
Im Prinzip so: Blockstartzeichen, Anzahl Daten, <Daten>, Checksumme. Erscheint das Blockstartzeichen im Datenblock als Daten, so kann es gedoppelt werden (vergleiche 3964R).


Ganzes Datenbyte über serielle Schnittstelle übertragen - Lucki - 12.02.2009 08:01

' schrieb:Im Prinzip so: Blockstartzeichen, Anzahl Daten, <Daten>, Checksumme. Erscheint das Blockstartzeichen im Datenblock als Daten, so kann es gedoppelt werden (vergleiche 3964R).
Googeln mit 3964R war erfolgreich. Das hilft mir, so werde ich es machen. Vielen Dank!