MPU-6050的初始化问题

2019-07-20 16:33发布

我试着跑了一下MPU的例程,发现执行[mw_shl_code=c,true]mpu_dmp_get_data()[/mw_shl_code]函数的时候得到的返回值一直是1。
随后我debug了一下,发现MPU的Init函数都没过(返回值是1)
我随后追溯到Init函数中,发现读取IIC获取的器件ID一直是0xD1,而我是用USB转IIC读取的则是正常的。
随后我发现了这段代码:
[mw_shl_code=c,true]
//如果AD0脚(9脚)接地,IIC地址为0X68(不包含最低位).
//如果接V3.3,则IIC地址为0X69(不包含最低位).
#define MPU_ADDR                                0X68
////因为开发板接GND,所以转为读写地址后,为0XD1和0XD0(如果接GND,则为0XD3和0XD2)  
//#define MPU_READ    0XD1
//#define MPU_WRITE   0XD0
[/mw_shl_code]
请教一下这是什么情况?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
TsingJyujing
1楼-- · 2019-07-20 17:28
 精彩回答 2  元偷偷看……
正点原子
2楼-- · 2019-07-20 22:40
0XD1,不是器件ID哦,器件ID是0X68或者0X69才对。  
TsingJyujing
3楼-- · 2019-07-20 23:41
正点原子 发表于 2017-2-28 22:06
0XD1,不是器件ID哦,器件ID是0X68或者0X69才对。

的确不是器件ID,但是使用里程读取的时候,执行[mw_shl_code=c,true]MPU_Read_Byte(MPU_DEVICE_ID_REG)[/mw_shl_code]的时候一直是返回的一直是0xD1,MPU_Init()就一直过不了。

一周热门 更多>