智能车制作

标题: 为什么加速度计出来的数据,乘以小数后就没有负值了? [打印本页]

作者: 彩羽骑士    时间: 2013-11-26 17:12
标题: 为什么加速度计出来的数据,乘以小数后就没有负值了?
如图  脉冲部分应该是负值,

作者: rubick    时间: 2013-11-26 17:19
你确定开了浮点功能?
作者: 彩羽骑士    时间: 2013-11-26 17:21
rubick 发表于 2013-11-26 17:19
你确定开了浮点功能?

我乘以0.8还有正负,0.4就是这种情况了。

作者: rubick    时间: 2013-11-26 17:22
彩羽骑士 发表于 2013-11-26 17:21
我乘以0.8还有正负,0.4就是这种情况了。

上代码

作者: 彩羽骑士    时间: 2013-11-26 17:23
rubick 发表于 2013-11-26 17:22
上代码

double MMA845x_GetData(uint8_t REG_Address)
{
        int data;
        double temp;
        uint8_t H,L;
        H = MMA845x_ReadRegister(MMA845x_I2C_PORT,REG_Address);
        L = MMA845x_ReadRegister(MMA845x_I2C_PORT,REG_Address+1);
        data = (H<<8)+L;
        temp = (double)data*0.4;//角度转换
        return temp;  
}



作者: 彩羽骑士    时间: 2013-11-26 17:31
rubick 发表于 2013-11-26 17:22
上代码

这是乘以0.4的

作者: 彩羽骑士    时间: 2013-11-26 17:32
rubick 发表于 2013-11-26 17:22
上代码

这是0.8的

作者: rubick    时间: 2013-11-26 17:32
int temp;
temp = data * 4 / 10;
double 型变量不是用来表示小数的。

作者: 彩羽骑士    时间: 2013-11-27 14:33
rubick 发表于 2013-11-26 17:32
int temp;
temp = data * 4 / 10;
double 型变量不是用来表示小数的。

哎!昨天五个帖子发完了,问题还没解决。无语了。

作者: rubick    时间: 2013-11-27 19:41
彩羽骑士 发表于 2013-11-27 14:33
哎!昨天五个帖子发完了,问题还没解决。无语了。

发帖不是解决问题的方式哟。




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2