我正在STM32 F107上开发一个嵌入式系统,通过i2c与2个从设备进行通信:RFID阅读器RFID手册和EEPROM模块EEPROM手册。这两个设备具有相同的从地址A0(用于写入操作)和A1(用于读取操作)。如果只使用一台设备,它可以正常工作。但是如果我同时使用它们,我就有问题了。首先,我从 rfid 读卡器读取卡 ID,然后将其写入 eeprom 中(到目前为止一切都没问题),当我尝试从 rfid 阅读器再次读取时,我得到的输入数据是错误的,即使我更换卡也总是相同的。正在发生什么,我能做些什么来解决问题?
设备必须具有不同的地址。应将任一设备重新配置为使用其他地址以避免冲突。这通常通过跳线(rfid读卡器上的JP1,JP2)或通过硬接线芯片上的一些地址引脚(eeprom芯片上的A0和A1引脚)来完成。
如果没有额外的引脚可用于移动 I2C 设备,请尝试使用 i2c 缓冲器或 i2c 复用器。