搜索
bottom↓
回复: 6

MPU9250 移植MPU9150的DMP

[复制链接]

出0入0汤圆

发表于 2015-3-30 14:01:21 | 显示全部楼层 |阅读模式
之前有调过MPU9150,用的是官方的DMP解姿态,现在在调MPU9250,想仍然用之前的那个DMP库,但是发现始终在MPU6050那里,根本进不去MPU6500,如下代码,怀疑是在哪里定义了MPU6050,但是找遍了都没有发现哪里定义了的,就想问一下,官方的DMP是在哪里定义了MPU6050么?不然是怎么找到是属于哪个设备呢?   望大神解答啊啊啊,万分感谢!

#if defined MPU6050          //连上MPU9250时也是直接跳到这里的,不会进入下面的 if defined 6500
    /* Check product revision. */
               
    if (i2c_read(st.hw->addr, st.reg->accel_offs, 6, data))
        return -1;
               
    rev = ((data[5] & 0x01) << 2) | ((data[3] & 0x01) << 1) |
        (data[1] & 0x01);
    if (rev) {
                       
        /* Congrats, these parts are better. */
        if (rev == 1)
                                {   st.chip_cfg.accel_half = 1;}
        else if (rev == 2)
                                { st.chip_cfg.accel_half = 0;}
        else {
                                          GPIO_SetBits(GPIOB,GPIO_Pin_12);
            log_e("Unsupported software product rev %d.\n");
            return -1;
        }
    } else {
        if (i2c_read(st.hw->addr, st.reg->prod_id, 1, &(data[0])))
            return -1;
        rev = data[0] & 0x0F;
        if (!rev) {
            log_e("Product ID read as 0 indicates device is either "
                "incompatible or an MPU3050.\n");
            return -1;
        } else if (rev == 4) {
            log_i("Half sensitivity part found.\n");
            st.chip_cfg.accel_half = 1;
        } else
            st.chip_cfg.accel_half = 0;
    }
               
#elif defined MPU6500

出0入0汤圆

 楼主| 发表于 2015-3-30 15:49:54 | 显示全部楼层
有知道的么~为什么都只看不回呢~~

出0入0汤圆

 楼主| 发表于 2015-3-30 20:42:55 | 显示全部楼层
好啦~调了一个下午,终于搞定啦~我换了之前一直使用的库,因为好像是在哪里定义了MPU6050,所以一直跳不进去MPU6500的部分,换了之后再改一些设置就好啦~  #ifdefine的很多部分需要重新对照6050的部分重新写,然后在粗现bug的时候,需要简单粗暴得注释掉一些东西,因为它的官方DMP库里面有很多定义不知道啥意思,就只好这样咯~ 还望高手解答呀!
现附上  更改之后的DMP库内容

本帖子中包含更多资源

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

x

出0入0汤圆

发表于 2015-5-25 21:25:09 | 显示全部楼层
请问楼主,有没有用最新的6.1库?

出0入0汤圆

发表于 2015-6-3 17:34:55 | 显示全部楼层
楼主,我移植了你的代码,可是那个YAW角不对,求指教

出0入0汤圆

发表于 2015-11-16 12:49:49 | 显示全部楼层
这个好像还是没有把磁力计的数据融合进去,因为YAW一直在漂

出0入0汤圆

发表于 2015-11-16 15:19:43 | 显示全部楼层
newdavid 发表于 2015-5-25 21:25
请问楼主,有没有用最新的6.1库?

应该是没用,这都没加磁力计融合
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-19 15:32

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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