本人最近做项目需要用到MPU6500,在淘宝购买了一块MPU6500模块后开始调试,整了半天发现无论如何也读不出模块的数据,耐着性子一步一步调试后发现遇到了个冒牌的6500。。。
模块硬件如图:使用的是MPU6500,使用STM32F7对模块进行读取,读取程序使用的是原子哥的MPU9250例程(内部集成MPU6500六轴传感器和AK8963三轴磁力计,两个共用一个IIC接口)。该程序读取加速度计及陀螺仪数据后通过串口向上位机进行发送。
软硬件均准备完成后开始调试,发现串口始终无法收到数据,最后将程序错误定位到MPU9250初始化模块失败,改初始化函数下ID判断语句始终错误。
if(res==MPU6500_ID1||res==MPU6500_ID2) //判断ID是否正确
MPU6500的ID参照手册应该是0x68,如下图所示: