Я использую ADXL345 (- + 16g)
Я знаю, что это для 10 битов, тогда диапазон составляет -512 ~ 511.
Но я включаю ADXL345, я могу получить примерно от -255 ~ 255.
Что случилось?
Код является:
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;
Задача ещё не решена.
Других решений пока нет …