MPU6050 DMP初始化失败求帮忙

2019-08-16 20:02发布

代码是原子哥的代码;mpu_dmp_init()   DMP初始化失败 我查代买发现是
res=dmp_load_motion_driver_firmware();                //加载固件库
                if(res)return 4;   实际返回4  说明加载失败 继续看发现
  if (memcmp(firmware+ii, cur, this_write))
            return -2;  是这个函数返回了-2  说以导致失败      这个函数 执行的是汇编 看不懂...


请问这是为什么?怎么解决呢?

首先可以确定的是我的小车原装代码是可以实现的  所以排除硬件问题  
MPU_Init();                                        //初始化MPU6050   这可以初始化   说明IIC通行也没问题
在初始化前我没开任何中断
               

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
16条回答
gexinyu1993
1楼-- · 2019-08-17 00:02
 精彩回答 2  元偷偷看……
FantaSy_
2楼-- · 2019-08-17 01:12
帮顶!!
zhaoyuaiweide
3楼-- · 2019-08-17 07:00
我最近也刚刚做了平衡小车   我出现过mpu6050初始化失败的情况   一般都是停留在"mpu_set_sensor complete ......这里了   我的经验是首先连接6050的杜邦线一定要短  用胶枪战住 一松动导致电源供电不稳或者IIC都些错误就会产生这个        你的是加载运动库产生的错误看起来    建议你用只有6050的dmp库的程序测试一下   我感觉不是你6050模块有点问题就是dmp程序移植的时候出现了点小错误
zhaoyuaiweide
4楼-- · 2019-08-17 09:34
gexinyu1993
5楼-- · 2019-08-17 15:28
zhaoyuaiweide 发表于 2017-1-5 10:33
我最近也刚刚做了平衡小车   我出现过mpu6050初始化失败的情况   一般都是停留在"mpu_set_sensor complete  ...

我现在只读取MPU6050的原始数据都OK了!!
问题:
我移植的是原子哥的代码 都是STM32 按说我只需要改下IIC的IO口就可以。我理解的可对?
在读取数据时发现 用原子哥代码里面的 连续读 就只能读X轴 后面就读不出来   我是用读一个字节的代码 读6次   才能把数据都读出来。  难道是原子哥的连续读代码有问题? 不应该啊 都是实测可以用的  我..哭晕在厕所了,,,,后面DMP的加载代码中 也有很多地方要用连续读 连续写的 代码   会不会是这个原因导致 不能加载呢?
xiaocheng
6楼-- · 2019-08-17 18:26
 精彩回答 2  元偷偷看……

一周热门 更多>