我正在使用arduino nano 33 Ble,使用Lib Arduino_LSM9DS1试图理解这个方程,但我不明白
所述数据*4/ 32768在lsb 32768之后。它应该是一个16位严格,其中lsb应该2^16 = 65536。还是更多地使用-+ 32768?那具体是4呢?为什么使用这个不响an 8或16?
有人能向我解释吗?加速度是如何得到的,在哪个单元中?
int LSM9DS1Class::readAcceleration(float& x, float& y, float& z)
{
int16_t data[3];
if (!readRegisters(LSM9DS1_ADDRESS, LSM9DS1_OUT_X_XL, (uint8_t*)data, sizeof(data))) {
x = NAN;
y = NAN;
z = NAN;
return 0;
}
x = data[0] * 4.0 / 32768.0;
y = data[1] * 4.0 / 32768.0;
z = data[2] * 4.0 / 32768.0;
return 1;
} https://stackoverflow.com/questions/71101200
复制相似问题