Sabit bir adrese sahip birden fazla I2C cihazında bu sorunu yaşıyorum. Çözümümüz biz bu cihazlarda yüksek SDA hatlarını zorlamak için mikrodenetleyici üzerinde G / Ç hatlarını kullanmaktı yok cihaz için I / O hattı biz, hedefleme girdi olarak ayarlanır ise, adres istiyorum (yüksek empedans ). Bu, yalnızca hedeflenen cihazın I2C adresiyle eşleştiği ve diğerleri sonraki verileri göz ardı ettiği anlamına gelir.
Aktif olmayan cihazlara yönelik SDA hattındaki dirençler, veri yolu için pull-up'lar olarak işlev görür, bu nedenle kesin değer, kaç tane cihaza sahip olduğunuza ve veri yolu için hangi çekmeye ihtiyacınız olduğuna bağlı olacaktır. Bu nedenle, 10K dirençleri seçerseniz, 3 etkin olmayan cihaz 3K3 çekimi sağlar.
Schottky diyotlar, verileri ana bilgisayara geri gönderirken cihazın hala SDA hattını yeterince çekebilmesini sağlar.