stm32F4读取mpu6050陀螺仪数据问题

2019-07-20 10:45发布

原子“实验32 MPU6050六轴传感器实验”中,通过原子编写的        MPU_Get_Gyroscope(&gyrox,&gyroy,&gyroz);        读取的陀螺仪数据,为什么和mpu_dmp_get_data(&pitch,&roll,&yaw)==0内调用的if(dmp_read_fifo(gyro, accel, quat, &sensor_timestamp, &sensors,&more))函数获取的陀螺仪数据gyro不一样;而通过原子编写的MPU_Get_Accelerometer(&aacx,&aacy,&aacz);获得的加速度数据却和和mpu_dmp_get_data(&pitch,&roll,&yaw)==0内调用的if(dmp_read_fifo(gyro, accel, quat, &sensor_timestamp, &sensors,&more))函数获取的accel数据一致。各位大神哪个对呀? 1.png

2.jpg
3.jpg

代码: 实验32 MPU6050六轴传感器实验.zip (6.24 MB, 下载次数: 898) 2017-11-26 18:58 上传 点击文件名下载附件

[img]file:///I:UsersAlienAppDataRoamingTencentUsers422606251QQWinTempRichOle9ENB1MH[Z6E0V`$)D1OL~{5.png[/img]

[img]file:///I:UsersAlienAppDataRoamingTencentUsers422606251QQWinTempRichOle9ENB1MH[Z6E0V`$)D1OL~{5.png[/img]


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
ALIEN_WALI
1楼-- · 2019-07-21 11:52
DreamWaterPro 发表于 2017-11-28 10:25
个人理解,从DMP FIFO缓冲区读的数据经过了滤波,而且由于FIFO和DMP数据本身更新速率的关系,比直接读寄存 ...

那他们也不能差这个多呀?板子一直是静止放置的,应该是DMP处理后的数据更可靠吧?要是处理后的数据不可靠的话那还用DMP处理干什么呢?把你设为最佳答案吧
ALIEN_WALI
2楼-- · 2019-07-21 15:08
关键是FIFO 是被禁止的呀
DreamWaterPro
3楼-- · 2019-07-21 16:56
 精彩回答 2  元偷偷看……
ALIEN_WALI
4楼-- · 2019-07-21 18:02
DreamWaterPro 发表于 2017-11-29 12:49
啊不好意思没注意看你的问题。我猜想可能是DMP中的数据经过了标度变换?但是好像又不对。。。手边暂时没 ...

我仔细看了下,代码中        res=mpu_configure_fifo(INV_XYZ_GYRO | INV_XYZ_ACCEL);//设置FIFO,是打开的。谢谢你,我在研究研究

一周热门 更多>