智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1277|回复: 9
打印 上一主题 下一主题

为什么加速度计出来的数据,乘以小数后就没有负值了?

[复制链接]

12

主题

33

帖子

0

精华

高级会员

Rank: 4

积分
652
威望
329
贡献
179
兑换币
185
注册时间
2013-7-3
在线时间
72 小时
跳转到指定楼层
1#
发表于 2013-11-26 17:12:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如图  脉冲部分应该是负值,

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

21

主题

896

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4068
威望
2252
贡献
1296
兑换币
1483
注册时间
2012-7-30
在线时间
260 小时
毕业学校
克莱德大学
2#
发表于 2013-11-26 17:19:01 | 只看该作者
你确定开了浮点功能?
回复 支持 反对

使用道具 举报

12

主题

33

帖子

0

精华

高级会员

Rank: 4

积分
652
威望
329
贡献
179
兑换币
185
注册时间
2013-7-3
在线时间
72 小时
3#
 楼主| 发表于 2013-11-26 17:21:10 | 只看该作者
rubick 发表于 2013-11-26 17:19
你确定开了浮点功能?

我乘以0.8还有正负,0.4就是这种情况了。
回复 支持 反对

使用道具 举报

21

主题

896

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4068
威望
2252
贡献
1296
兑换币
1483
注册时间
2012-7-30
在线时间
260 小时
毕业学校
克莱德大学
4#
发表于 2013-11-26 17:22:15 | 只看该作者
彩羽骑士 发表于 2013-11-26 17:21
我乘以0.8还有正负,0.4就是这种情况了。

上代码
回复 支持 反对

使用道具 举报

12

主题

33

帖子

0

精华

高级会员

Rank: 4

积分
652
威望
329
贡献
179
兑换币
185
注册时间
2013-7-3
在线时间
72 小时
5#
 楼主| 发表于 2013-11-26 17:23:01 | 只看该作者
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;  
}


回复 支持 反对

使用道具 举报

12

主题

33

帖子

0

精华

高级会员

Rank: 4

积分
652
威望
329
贡献
179
兑换币
185
注册时间
2013-7-3
在线时间
72 小时
6#
 楼主| 发表于 2013-11-26 17:31:30 | 只看该作者
rubick 发表于 2013-11-26 17:22
上代码

这是乘以0.4的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

12

主题

33

帖子

0

精华

高级会员

Rank: 4

积分
652
威望
329
贡献
179
兑换币
185
注册时间
2013-7-3
在线时间
72 小时
7#
 楼主| 发表于 2013-11-26 17:32:09 | 只看该作者
rubick 发表于 2013-11-26 17:22
上代码

这是0.8的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

21

主题

896

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4068
威望
2252
贡献
1296
兑换币
1483
注册时间
2012-7-30
在线时间
260 小时
毕业学校
克莱德大学
8#
发表于 2013-11-26 17:32:14 | 只看该作者
int temp;
temp = data * 4 / 10;
double 型变量不是用来表示小数的。
回复 支持 反对

使用道具 举报

12

主题

33

帖子

0

精华

高级会员

Rank: 4

积分
652
威望
329
贡献
179
兑换币
185
注册时间
2013-7-3
在线时间
72 小时
9#
 楼主| 发表于 2013-11-27 14:33:53 | 只看该作者
rubick 发表于 2013-11-26 17:32
int temp;
temp = data * 4 / 10;
double 型变量不是用来表示小数的。

哎!昨天五个帖子发完了,问题还没解决。无语了。
回复 支持 反对

使用道具 举报

21

主题

896

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4068
威望
2252
贡献
1296
兑换币
1483
注册时间
2012-7-30
在线时间
260 小时
毕业学校
克莱德大学
10#
发表于 2013-11-27 19:41:54 | 只看该作者
彩羽骑士 发表于 2013-11-27 14:33
哎!昨天五个帖子发完了,问题还没解决。无语了。

发帖不是解决问题的方式哟。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-11-7 06:45 , Processed in 0.064581 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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