天嵌 ARM开发社区

 找回密码
 注册
查看: 1764|回复: 3

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

[复制链接]
qll 发表于 2014-4-16 11:27:24 | 显示全部楼层 |阅读模式
本帖最后由 qll 于 2014-4-16 11:32 编辑

得到mode的值:mode = value_temp[3];
计算x、y、z轴数据
x_start = dToa(value_temp[0], 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 | 显示全部楼层
哪位大神来回答一下。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2024-9-28 04:41 , Processed in 1.016641 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表