例如我要使用MPU6050和HMC5883和MS5611这个三个I2C器件,有一种方法是把MPU6050设置成旁路模式,这时候不影响MPU6050正常读取,把5883和5611都挂在6050的拓展I2C接口上,读取这三个器件是用他们自己的地址读取。然而我也可以直接把这三个器件都接在STM32的一个I2C口上(例如PB6PB7),也是占用STM32一个I2C口,也是用三个器件自己的地址读取。这两种方法是不是没有区别?6050的拓展I2C口当用于旁路模式时是不是没什么用?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
目前我猜想,这个功能也挺有意思的,比如说MPU9250 ,这个实际上是MPU6500 + 三轴磁力计, 前者支持SPI通讯,而后者不支持。后者挂载在 MPU9250的扩展I2C上, 当STM32与MPU9250通讯方式为I2C的时候,可以设置旁路模式,直接把磁力计也放在I2C总线上。然而,你更可以,使用SPI与MPU6500通讯,高速读取,并且同时 关闭 MPU9250的I2C控制器,然后将STM32的I2C接到 MPU9250的扩展I2C接口上,通过I2C来单独设置磁力计或者读取磁力计。这样就实现了SPI,I2C双通道读取MPU9250的数据。是不是很有意思。具体还得试试。
一周热门 更多>