I use ADXL345(-+16g)
I know it is for 10bits then the range is -512 ~ 511.
But I turn ADXL345, I can get from about -255~ 255.
What is wrong?
The code is:
unsigned __int16 HLdata(unsigned __int16 H, unsigned __int16 L)
{
unsigned __int16 h, l,ans;
h = ((unsigned __int16)H << 8);
l = (unsigned __int16)L & 0x00ff;
ans = (h | l);
return ans;
}
axt = HLdata(TempChar[11], TempChar[10]) & 0x03ff; //it is for using 10bits
ayt = HLdata(TempChar[13], TempChar[12]) & 0x03ff;
azt = HLdata(TempChar[15], TempChar[14]) & 0x03ff;