theborg
KBitdefender Programierer
Hi,
Ich hab mal wieder ein kleines Problem mit nem Shellscript und zwar bekomme ich 16bit werte von den Sensoren, die möchte ich mit BC nach DEC umwandeln dabei hab ich aber mehrere Probleme.
1.) BC rechnet nur bis 8bit um b.z.w. wen ich beide werte zusammen füge und dann als 32bit hex Wert umrechnen möchte geht das nicht.
2.) BC rechnet nicht wen ein Wert ne 0 am Anfang hat
Variante 1
Variante 2
Ich hab mal wieder ein kleines Problem mit nem Shellscript und zwar bekomme ich 16bit werte von den Sensoren, die möchte ich mit BC nach DEC umwandeln dabei hab ich aber mehrere Probleme.
1.) BC rechnet nur bis 8bit um b.z.w. wen ich beide werte zusammen füge und dann als 32bit hex Wert umrechnen möchte geht das nicht.
2.) BC rechnet nicht wen ein Wert ne 0 am Anfang hat
Variante 1
Code:
### Z-Ackse Auslesen ###
ZMSB=$(i2cget -y s3c2410-i2c 0x38 0x07 w |awk -F "0x" '{print $2}') # MSB Auslesen und 0x entfernen
ZLSB=$(i2cget -y s3c2410-i2c 0x38 0x06 w |awk -F "0x" '{print $2}') # LSB Auslesen und 0x entfernen
echo $ZMSB
echo $ZLSB
ZMSB=$(echo "ibase=16; $ZMSB" | bc) # umwandeln HEX->DEC
ZLSB=$(echo "ibase=16; $ZLSB" | bc)
echo $ZMSB
echo $ZLSB
let Z=$ZMSB*$ZLSB
echo $Z
Code:
### Z-Ackse Auslesen ###
ZMSB=$(i2cget -y s3c2410-i2c 0x38 0x07 w |awk -F "0x" '{print $2}') # MSB Auslesen und 0x entfernen
ZLSB=$(i2cget -y s3c2410-i2c 0x38 0x06 w |awk -F "0x" '{print $2}') # LSB Auslesen und 0x entfernen
echo $ZMSB
echo $ZLSB
Z=$(echo "ibase=16; $ZMSB$ZLSB" | bc) # umwandeln HEX->DEC
echo $Z