移植原子哥的MPU9250代码到STM32F103C8T6,通过MPU_Get_Gyroscope(short *gx,short *gy,short *gz)读取陀螺仪的AD数据。
出现的问题是:执行到 [mw_shl_code=c,true]res=MPU_Read_Len(MPU9250_ADDR,MPU_GYRO_XOUTH_REG,6,buf);[/mw_shl_code]
时,只有buf[0]能够读取到正常的数据,buf[1]~buf[5]都是全0。
如果将代码改为
[mw_shl_code=c,true] res += MPU_Read_Len(MPU9250_ADDR,MPU_GYRO_XOUTH_REG,1,buf+0);
res += MPU_Read_Len(MPU9250_ADDR,MPU_GYRO_XOUTL_REG,1,buf+1);
res += MPU_Read_Len(MPU9250_ADDR,MPU_GYRO_YOUTH_REG,1,buf+2);
res += MPU_Read_Len(MPU9250_ADDR,MPU_GYRO_YOUTL_REG,1,buf+3);
res += MPU_Read_Len(MPU9250_ADDR,MPU_GYRO_ZOUTH_REG,1,buf+4);
res += MPU_Read_Len(MPU9250_ADDR,MPU_GYRO_ZOUTL_REG,1,buf+5);[/mw_shl_code]
则所有数据正常读取。
请问这是什么原因啊?
|