上图为所用模块,为市场常见的MPU6050模块(GY-521)和HMC5883模块(GY-271)
遇到的问题:
1、模块共用STM32的I2C接口时的连接方法?
答:
其余引脚如果不用中断读取的话可以不接,如GY-521的INT脚和GY-271的DRDY脚
2、STM32如何通过MPU6050读取HMC5883的数据?
答:最简单的方法时将MPU6050的INT_PIN_CFG寄存器中的I2C_BYPASS_EN置1,开启BYPASS模式,使HMC5883的总线直接与STM32的总线接口物理连接
3、读取HMC5883的值始终不变,只有重新下载完程序或断电重启后才能读取正确值,之后读出的值一直不变?
答:配置HMC5883工作在连续模式且在每次读取HMC5883值前,加点延时。