PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kommunikation zwischen ADXL345 und MSP430F5438A



roc
10.05.2013, 15:59
Hi!

I versuche gerade den Basis Arduino Code von Sparkfun für meinen MSP430F5438A anzupassen, aber ich habe paar Probleme damit.
I habe einen Buffer definiert, aber ich ich bin verwirrt von den 10 Bit Daten, die der ADXL345 sendet und deren Verarbeitung im Arduino Code.

In der Interruptroutine versuche der Übergabe der verschiedenen Achsen Rechnung zu tragen, aber ich weiss nicht wie ich
die Zuweisung und Speicherung der Daten in den Buffer richtig vornehmen kann.


//This buffer will hold values read from the ADXL345 registers.

char values[10];

//These variables will be used to hold the x,y and z axis accelerometer values.

int x,y,z;

(Kopiert vom Arduino Basis Code von Sparkfun)



Wie kann ich die Shift Operation unten in meinen Code einbauen? Kann diese direkt in die Interruptroutine eingebaut werden oder muss ich eine extra Methode schreiben? Kann mir jemand weiter helfen?



//The ADXL345 gives 10-bit acceleration values, but they are stored as bytes (8-bits). To get the full value, two bytes must be combined for each axis.

//The X value is stored in values[0] and values[1].

x = ((int)values[1]<<8)|(int)values[0];

//The Y value is stored in values[2] and values[3].

y = ((int)values[3]<<8)|(int)values[2];

//The Z value is stored in values[4] and values[5].

z = ((int)values[5]<<8)|(int)values[4];


Dankeschön und Grüsse

CCP1CON
02.06.2013, 19:40
Auch wenn es nur Zehn Bit sind, musst Du das hight byte komplett shiften.
Zwei Bit (6 mal 0 ) im hight und 8 Bit im low.

Also :cool: = 8.

Falls ich Deine Frage richtig verstanden habe ...