2013-09-24 76 views
2

我正在開發一個STM32 F107上的嵌入式系統,它通過i2c與2個從屬設備進行通信:一個rfid讀取器rfid manual和一個eeprom模塊eeprom manual。 這兩個器件具有相同的從地址A0(用於寫入操作)和A1(用於讀取操作)。 如果只使用一個設備,它工作正常。但是,如果我使用他們兩個我有一個問題。 首先我從rfid閱讀器讀取卡片ID,然後將它寫入eeprom(到此爲止都可以),當我嘗試從rfid閱讀器再次讀取時,我得到的輸入數據是錯誤的,並且始終是相同的如果我更換卡片。 發生了什麼,我能做些什麼來解決這個問題?具有相同地址的i2c從屬設備

+0

你不能使用跳線修改其中一個設備的地址嗎? – Nick

+0

[rfid模塊](http://www.stronglink-rfid.com/image/modules/SL030.jpg)jp1和jp2是你正在談論的跳線嗎? –

+0

是,手冊第6頁。 – Nick

回答

9

設備必須具有不同的地址。您應該重新配置任一設備以使用不同的地址來避免衝突。這通常通過跳線(rfid閱讀器上的JP1,JP2)或通過硬件連接芯片上的一些地址引腳(eeprom芯片上的A0和A1引腳)來完成。

1

如果沒有額外的引腳可用於移動I2C設備,請嘗試使用i2c緩衝區或i2c MUX。