qll 发表于 2014-4-16 11:27:24

重力传感器计算数值的代码问题

本帖最后由 qll 于 2014-4-16 11:32 编辑

得到mode的值:mode = value_temp;计算x、y、z轴数据x_start = dToa(value_temp, mode);y_start = dToa(value_temp[1], mode);z_start = dToa(value_temp[2], mode);

下面的这个函数是采用什么计算原理实现的?
float Thread::dToa(unsigned short dat, unsigned char mode)
{      
float result = 0.0;
      if ((dat & 0x200) != 0)   
   {      dat = ((~dat) + 1) & 0x1ff;         
   result = -(9.8 * (float) (mode + 1)) * 2 * dat / 512.0;      
}      
else   
    {      
         dat = dat & 0x1ff;            
   result = (9.8 * (float) (mode + 1)) * dat * 2 / 512.0;
      }
      return result;
}

qll 发表于 2014-4-18 18:22:14

谁做过重力传感器或者懂的,解释一下上面的代码》

qll 发表于 2014-4-20 10:15:12

主要是 result = -(9.8 * (float) (mode + 1)) * 2 * dat / 512.0;      用的什么计算公式?

qll 发表于 2014-6-13 09:57:34

哪位大神来回答一下。
页: [1]
查看完整版本: 重力传感器计算数值的代码问题