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 

Verständnisfrage



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!

21.02.2008, 10:56
Beitrag #1

fk08 Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: Jan 2008

8.5
2007
en

24105
Deutschland
Verständnisfrage
Hallo,

nachdem ich nun mein spektrometer korrekt ansprechen kann, d.h ich sende ein befehl und es kommen daten zurück, muss ich die "roh daten" korrekt verarbeiten.

zunächst bekomme ich idealerweise ein datenpaket mit folgender struktur:

1. byte = high byte of 1. spectrum value
2. byte = low byte of 1. spectrum value

usw.

nun muss ich aus dem low und high byte eine 16-bit integer bauen, wobei noch anzumerken ist, dass beim lowbyte nur bit 6 und 7 signifikant sind.
und das verstehe ich nicht,
ist nun meine zehl ein 16bit oder 8bit aus high und 2 bit aus low = 10 bit zahl? das wäre doch quatsch!

angenommen mein erster wert des spektrums wäre 10000. diesen könnte ich ja mit dem high byte nicht darstellen, da ich nur 8 bit zur verfügung hab, sodass 16 bit = 65536 diesen wert umfassen.

also 10000 = 1111101000 => 10 bit. wie würde ich nun diese zahl zusammenstallen?

ist das einfach: man nehme highbyte füge hinten die signifikanten bits des low bytes und voila?

vielen dank für die beseitigung meiner denksackgassenSmile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.02.2008, 11:17
Beitrag #2

VDB Offline
LVF-Stammgast
***


Beiträge: 426
Registriert seit: Oct 2005

2010-2011
1997
kA

52134
Deutschland
Verständnisfrage
Die Auflösung deines Spektrometers ist wahrscheinlich 10 bit. Da Computer mit Bytes rechnen wären 16 Bit das kleinste wo diese 10 Bit noch reinpassen. Du musst also low und high Byte zu einem 16 Bit Wert zusammenführen: Palette Programming|Numeric|Data Manipulation. Dabei auch noch beachten ob deine Werte signed oder unsigned sind.

VDB
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.02.2008, 12:23
Beitrag #3

fk08 Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: Jan 2008

8.5
2007
en

24105
Deutschland
Verständnisfrage
' schrieb:Die Auflösung deines Spektrometers ist wahrscheinlich 10 bit. Da Computer mit Bytes rechnen wären 16 Bit das kleinste wo diese 10 Bit noch reinpassen. Du musst also low und high Byte zu einem 16 Bit Wert zusammenführen: Palette Programming|Numeric|Data Manipulation. Dabei auch noch beachten ob deine Werte signed oder unsigned sind.

VDB


das würde also bedeuten, dass ich nur einen wertebereich von 0 bis 1023 habe?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.02.2008, 12:55
Beitrag #4

Achim Offline
*****
*****


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
Verständnisfrage
' schrieb:nun muss ich aus dem low und high byte eine 16-bit integer bauen, wobei noch anzumerken ist, dass beim lowbyte nur bit 6 und 7 signifikant sind.
und das verstehe ich nicht,
ist nun meine zehl ein 16bit oder 8bit aus high und 2 bit aus low = 10 bit zahl? das wäre doch quatsch!

Wieso wäre das Quatsch? Wenn du sagst, HByte + Bit7LByte+Bit6LByte sind relevant, dann sind das eben 10 Bit...und das sind halt nicht mehr als 1024 Werte! Und das steht doch sicher in den Specs deines Messgerätes, oder?

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.02.2008, 13:32
Beitrag #5

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.692
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Verständnisfrage
' schrieb:ist nun meine zehl ein 16bit oder 8bit aus high und 2 bit aus low = 10 bit zahl? das wäre doch quatsch!
Quatsch ist das nicht. Das ist optimierte Vorgehensweise.

Dieser dein AD-Wandler im Endgerät hat nun mal nur 10Bit. Aber man kann im sagen, wie er die 10Bit auf zwei Bytes aufteilen soll. Entweder: Die acht niederwertigsten Bits ins Lowbyte und die beiden restlichen nach B0 und B1 vom Highbyte. Oder: Die acht höherwertigen Bits nach Highbyte und die restlichen zwei nach B6 und B7 vom Lowbyte. Vorteil: Wer nur einen 8Bit-µC hat und dem eine 8Bit Auflösung reicht, der wählt die erstere Methode. Alle anderen Fälle, und da gibt es mehrere, verwenden den aneren, normalen Fall.

Für eine Hochsprache wie LV ist diese erstere Einstellung natürlich etwas "mühselig".

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Verständnisfrage zu Schleifendauer bei Modus "Do not allow regeneration" BodenseeBike 6 5.740 24.02.2017 10:13
Letzter Beitrag: GerdW
  Verständnisfrage zur Datenerfassung Timberlake 2 3.538 30.11.2007 12:35
Letzter Beitrag: Timberlake

Gehe zu: