【问题标题】:i2c slave devices with the same address具有相同地址的 i2c 从设备
【发布时间】:2013-09-29 13:42:02
【问题描述】:

我正在 STM32 F107 上开发一个嵌入式系统,该系统通过 i2c 与 2 个从设备进行通信:一个 rfid 阅读器 rfid manual 和一个 eeprom 模块 eeprom manual。 这两个设备具有相同的从地址 A0(用于写操作)和 A1(用于读操作)。 如果只使用一个设备,它工作正常。但是如果我同时使用它们,我就有问题了。 首先,我从 rfid 读卡器读取卡 ID,然后将其写入 eeprom(直到这里一切正常),当我尝试从 rfid 读卡器再次读取时,我得到错误的输入数据,即使即使我换卡。 发生了什么,我可以做些什么来解决这个问题?

【问题讨论】:

  • 不能用跳线修改其中一台设备的地址吗?
  • rfid module 你说的跳线是 jp1 和 jp2 吗?
  • 是的,手册第 6 页。
  • 虽然更改一个设备的地址是最好的选择,但如果由于某种原因您不能这样做,那么将其中一个设备移动到另一组引脚可能是一种选择 - 或者另一个I2C 接口引擎(如果可用),或者只是在 GPIO 上敲打(如果没有)。

标签: embedded rfid i2c stm32 eeprom


【解决方案1】:

设备必须有不同的地址。您应该重新配置任一设备以使用不同的地址以避免冲突。这通常通过跳线(rfid 阅读器上的 JP1、JP2)或通过硬连线芯片上的一些地址引脚(eeprom 芯片上的 A0 和 A1 引脚)来完成。

【讨论】:

    【解决方案2】:

    如果没有额外的引脚可用于移动 I2C 设备,请尝试使用 i2c 缓冲区或 i2c MUX。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-05-04
      • 1970-01-01
      • 2021-12-30
      • 1970-01-01
      • 2019-02-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多