Gast
#871783
Hallo zusammen, ich lese mit einem MSP430F2232 über SPI einen analogen Spannungswert ein, der mit einem 24 bit AD-Wandler gemessen wurde. Der AD-Wandler schickt nach Anfrage des Wertes 3 Bytes (Most significant-, Mid - und Least significant Byte). Zusammen also meine 24 bit. Mein Problem ist, ich weiß nicht (bin Anfänger), wie ich aus den 3 Bytes nun den Spannungsbetrag mache. Im Moment versuche ich es mit folgendem Code (ich nutze IAR Kickstart): "ADS_RXTX(command); //send command value1=ADS_RXTX(0x00); //send clock value2=ADS_RXTX(0x00); //send clock value3=ADS_RXTX(0x00); //send clock big=value2 | (value3<<8) | ((unsigned long)value4<<16);" "ADS_RXTX()" sendet die Anfrage an den AD-Wandler und gibt den Wert vom AD-Wandler zurück. "0x00" soll dann keine Nachricht schicken, sondern nur eine clock erzeugen, damit der AD-Wandler seine Werte schicken kann. Die 3 Bytes lege ich dann also in den Variablen value1, value2 und value3 (alle als "unsigned char" deklariert). Z.B. kommen dann folgende Werte in den Variablen vor: value1: 0x18 value2: 0xFE value3: 0x71 Daraus hätte ich gerne in der Variable big (deklariert als "unsigned long") den dezimalen Wert. Hier also 18FE71hex=1638001dec. Hat jemand eine idee, wies funktioniert? Vielen Dank, Björn