Значения AXDL345 странные

Я использую 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;

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …