智能车制作
标题:
mpu6050数据输出为何是这样
[打印本页]
作者:
admingj
时间:
2014-7-27 10:45
标题:
mpu6050数据输出为何是这样
手上有个gy-86 带MPU6050的小模块,网上当的模拟I2C xs256 终于出数了,但是采出的加速度计跟我想的差距好的啊,比如原先飞思卡尔的模拟加速度计 只看单轴 慢慢旋转,轴上的加速度在[-1g,1g]区间上,0g时对应Azero 所以sina=(AD-Azero)/(AD1g-AD-1g) AD值怎么看都是连续的,可是6050传回的其中一个轴的数是突变的在两个区间上一个是0~16300 一个是 65535~48000 好别扭 你们是怎么处理的?
作者:
admingj
时间:
2014-7-27 11:12
找到问题了,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都是无符号返回值为啥能带符号,太神奇了
作者:
wuzhishiji
时间:
2014-7-28 23:36
标题:
RE: mpu6050数据输出为何是这样
admingj 发表于 2014-7-27 11:12
找到问题了,MPU6050 输出的是带符号的,
//**************************************
//合成数据
函数定义的是有符号整形,返回的肯定是有正负啦
欢迎光临 智能车制作 (http://dns.znczz.com/)
Powered by Discuz! X3.2