LabVIEWForum.de
Rs232 8 Bit Daten erfassen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Rs232 8 Bit Daten erfassen (/Thread-Rs232-8-Bit-Daten-erfassen)



Rs232 8 Bit Daten erfassen - flexbex - 09.10.2009 19:13

Hallo ich bin gerade am verzweifeln. Also ich will mit einem Microcontroller eine Spannung Messen. Die Daten werden vom ADC in 10Bit gewandelt. Der Controller schickt sie dann in zwei Packeten erst die Oberen 8 Bits und dann die 2 Unteren und der Rest der LSB mit Nullen gefüllt also so
xxxxxxxx xx000000
jetzt suche ich eine praktikable Methode die 2 Bytes vom String Format in's Binär zu wandeln die Addition muesste dann ja problemlos funktionieren.

Ich habe schon etwas nach einer Lösung des Problems gesucht und nichts brauchbares gefunden wenn jemand eine Antwort weiss oder eine nformationsstelle wuerde ich mich sehr freuen

viele gruesse
Flex

p.s. ich benutze LabVIEW 8.6


Rs232 8 Bit Daten erfassen - jg - 09.10.2009 20:16

Spontan fallen mir 2 Möglichkeiten ein:
[attachment=21652]

Gruß, Jens


Rs232 8 Bit Daten erfassen - IchSelbst - 09.10.2009 21:39

Ich hab auch eins:


Rs232 8 Bit Daten erfassen - flexbex - 09.10.2009 22:56

Dankeschön das sind aufjedenfall erstmal gute ideen . Hab aber gerade ne eigene Antwort entwickelt nicht so elegant aber solange es funktioniert ;-)
gruss
Felix


Rs232 8 Bit Daten erfassen - eg - 09.10.2009 23:17

Es gibt noch einen Untershied zwischen signed und unsigned integer.


Rs232 8 Bit Daten erfassen - Lucki - 10.10.2009 09:18

Die von Jens genannte 2. Methode mittes Typwandlung
[attachment=21654]
würde ich klar bevorzugen.
Die linksbündige Darstellung der 10bit innerhalb des 16bit Zahlenformates hat übrigens 2 Vorteile:
1. Bei Ersatz des ADC durch einen 14 oder 16 bittigen muß nicht alles neu skaliert werden, man hat nur auf der MSB-Seite mehr Bits
2. Die Verschiebung nach links ist lebenswichtig, wenn der ADC Ausgang nicht Werte im Bereich 0..1023, sondern als 2er Komplement im Bereich -512..511 liefert. Die vorzeichenrichtige Verpackung dieser 10 bit in 16bit funktioniert nur bei linksbündiger Anordnung.
Wenn die Zahlen vorzeichenbehaftet sind, ändert sich nichts außer daß das U16 Zahlenformat durch I16 ersetzt wird. Halt, doch: Es darf dann am Schluß nicht um 6 bit nach rechts geschoben werden, sondern es muß durch 64 dividiert werden. (das funktioniert immer, es wäre besser es wäre im Beispiel so gemacht)
Ich würde ohnehin die Division hier nicht machen, die Werte müssen ja irgendwo noch skaliert werden, und dort kann man den Faktor 64 mit hineinbringen.
Wichig beim seriellen Empfang hier ist, daß die Option "TemChar" deaktiviert ist. Das ist von der Synchronisation her machbar, wenn der µC z.B. als Slave arbeitet und nach Anforderung genau diese 2 bytes (oder auch irgendeine andere bekannte Anzahl) sendet.


Rs232 8 Bit Daten erfassen - IchSelbst - 10.10.2009 10:05

Also das mit den Strings an sich gefällt mir gar nicht. Eigenlich gibt's zur Aneinanderreihung der beiden Zahlen folgendes Element: siehe Bild.

Da die Daten über Visa kommen, ist die Methode mit der String-Zahl-Konvertierung aber wohl sowieso die naheliegende.