2013-09-24 2 views
2

저는 i2c를 통해 2 개의 슬레이브 디바이스와 통신하는 임베디드 시스템 인 STM32 F107을 개발 중입니다 : 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

장치의 주소가 달라야합니다. 충돌을 피하기 위해 다른 주소를 사용하도록 두 장치 중 하나를 재구성해야합니다. 이는 일반적으로 점퍼 (JP1, JP2, RFID 판독기) 또는 칩의 일부 주소 핀 (eeprom 칩의 A0 및 A1 핀)을 하드 와이어하여 수행됩니다.

1

I2C 장치를 이동할 수있는 여분의 핀이없는 경우, i2c 버퍼 또는 i2c MUX를 사용해보십시오.

관련 문제