MPU6050和DS3231之间的I2C地址冲突



我正在使用MPU6050板载 GY-86 模块。我还有一个DS3231 RTC模块。当我搜索每个数据资料时,发现DS3231和MPU6050具有相同的I2C地址,即0x68。我在MPU数据手册中读到,如果我将AD0引脚连接到3.3,地址就会变得0x69。但是我的模块上找不到任何AD0。我只有VCC-3.3v-SCL-SDA-INTa-FSYNC-DROY我想我必须更改 mpu6050 或 ds3231 的 i2c 地址。这样他们就不会发生冲突.如何更改 MPU 或 DS 模块的 I2C 外观。

查看我找到的GY-86原理图,AD0引脚在电路板上硬接地。这意味着,除非你能在电路板上找到要切割的迹线(不太可能),否则无法更改MPU6050从地址。据我所知,DS2321也无法更改其地址。

这为您提供了几个选择:

  1. 将设备上的设备上更改为具有不同地址的其他型号。我希望你真的不想这样做。
  2. 如果您的主设备(未指定)具有多个 I2C 总线控制器,请将每个设备连接到不同的总线。
  3. 使用 I2C 多路复用器将器件置于不同的"虚拟"总线上。这是一个带有 1-8 个多路复用器的模块,它应该可以完成这项工作(尽管实际上只需要 1-2 个)。

最新更新