STM32F767的MPU9250实验无法读取磁力计数据和速度数据,教程上也没有写,哪位大神指导一下,麻烦有源码的大神共享一下,拜谢!

2019-07-20 12:37发布

只显示加速度和陀螺仪的数据,和教程里显示项目是一样的,怎么让磁力计和速度数据显示呢,

邮箱515548725@qq.com
在网上查到这么一段话,不明白什么意思
mpu9250内部为mpu6500和AK8963的组合。是两个不同的I2C地址。
读取加速度和陀螺仪需要对mpu6500的I2C地址及进行操作,读取磁力计需要对ak8963地址进行操作。
mpu6500根据电路中AD0的不同,地址为0x68或者0x69, 磁力计为0x0C(在mpu9250中,电路已经确定,地址无法更改)。
在读取时,注意需要人工将地址左移一位(I2C读写为左对齐,第8位要存读写标志位),mpu6500为0xD0或是0xD2,磁力计为0x18(如果I2C读写中进行了左移操作,那就不用人工左移一位)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
2条回答
jokeym
2019-07-20 13:28
你读数据的器件地址要不一样、才能读出来
比如:  i2cRead(MPU6050_ADDRESS, MPU_RA_GYRO_XOUT_H, 6, buf);
MPU6050_ADDRESS : 器件地址
MPU_RA_GYRO_XOUT_H :寄存器
6                                  :从MPU_RA_GYRO_XOUT_H 寄存器读6个字节数据
buf                                : 从MPU_RA_GYRO_XOUT_H 寄存器读出来的数据

加速度和磁力计的一样、就是换个地址、具体的地址你自己找数据手册

一周热门 更多>