从数据手册中可以看出,MPU9250
的六个输出 channel 中的每一个都具有2字节和16位分辨率。我想知道 16 位二进制值,它们是二进制补码的格式吗?或者当传感器静止时,假设沿 x 轴的加速度为零,那么 2 个字节的组合给出 2^16/2
,即最大可能数的一半? (假设没有偏移量)
最佳答案
是的,二进制补码。
您可以在 3.2 Accelerometer Specifications in the datasheet 中看到这个!
读取 14 个字节(使用 I2C)后,我使用: (((short)raw[4])<<8)|raw[5] 例如,为 accel z 轴获取带符号的 16 位值。加速度计和陀螺仪的 MSB 在前(在原始阵列中),但对于磁力计,LSB 在前。
如果传感器无偏差、静止且完全水平,则加速度应为 0,0,1g,陀螺仪应为 0,0,0。实际上地球每天自转 360°,所以准确地说,您可能必须考虑到这一点,但这取决于传感器的方向,甚至取决于您的纬度。
关于linux - MPU9250 IMU 加速度计和陀螺仪数据格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43164693/