2

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

4

2 回答 2

9

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

于 2013-09-24T11:33:20.593 回答
1

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

于 2013-10-07T03:29:09.480 回答