我试着跑了一下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]
请教一下这是什么情况?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
的确不是器件ID,但是使用里程读取的时候,执行[mw_shl_code=c,true]MPU_Read_Byte(MPU_DEVICE_ID_REG)[/mw_shl_code]的时候一直是返回的一直是0xD1,MPU_Init()就一直过不了。
一周热门 更多>