智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 5286|回复: 2
打印 上一主题 下一主题

mpu6050数据输出为何是这样

[复制链接]

11

主题

48

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2311
威望
1210
贡献
743
兑换币
775
注册时间
2013-8-11
在线时间
179 小时
跳转到指定楼层
1#
发表于 2014-7-27 10:45:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
手上有个gy-86 带MPU6050的小模块,网上当的模拟I2C xs256 终于出数了,但是采出的加速度计跟我想的差距好的啊,比如原先飞思卡尔的模拟加速度计 只看单轴 慢慢旋转,轴上的加速度在[-1g,1g]区间上,0g时对应Azero 所以sina=(AD-Azero)/(AD1g-AD-1g)   AD值怎么看都是连续的,可是6050传回的其中一个轴的数是突变的在两个区间上一个是0~16300 一个是 65535~48000 好别扭 你们是怎么处理的?
回复

使用道具 举报

11

主题

48

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2311
威望
1210
贡献
743
兑换币
775
注册时间
2013-8-11
在线时间
179 小时
推荐
 楼主| 发表于 2014-7-27 11:12:31 | 只看该作者
找到问题了,MPU6050 输出的是带符号的,
//**************************************
//合成数据
//**************************************
int GetData(uchar REG_Address)
{
        uchar H,L;
        H=Single_ReadI2C(REG_Address);
        L=Single_ReadI2C(REG_Address+1);
        return (H<<8)+L;   //合成数据
}
顺便问一下 H L都是无符号返回值为啥能带符号,太神奇了
回复 支持 1 反对 0

使用道具 举报

28

主题

234

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4674

优秀会员奖章在线王奖章活跃会员奖章论坛元老奖章

威望
2071
贡献
1101
兑换币
1178
注册时间
2012-12-31
在线时间
751 小时
3#
发表于 2014-7-28 23:36:22 | 只看该作者

RE: mpu6050数据输出为何是这样

admingj 发表于 2014-7-27 11:12
找到问题了,MPU6050 输出的是带符号的,
//**************************************
//合成数据

函数定义的是有符号整形,返回的肯定是有正负啦
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-26 04:32 , Processed in 0.039317 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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