Gast
#3647623
Hallo zusammen, ich möchte 2 I2C Temperatursensoren (TMP275) gemeinsam auf einem Bus betreiben, verwende dabei die Fleury I2C library und bin dabei auf ein unerklärliches Problem gestoßen. Zunächst zum TMP275: Die I2C Adresse is 1001xxx, für meine Anwendung habe ich die Adressen 1001000 und 1001001 gewählt (sind geografisch auf der Platine festgelegt, bzw. hardcoded). Als µC verwende ich den ATMega32. Die Adresse 1001000 lässt sich problemlos ansprechen und die Daten kommen richtig an. Nun zum Problem: Wenn ich jetzt mit dem TMP275 mit der Adresse 1001001 kommunizieren möchte, fühlt sich dieser nicht angesprochen. Die Pegel an den Adresspins liegen richtig an und SCL taktet richtig. ABER die Adresse, die an SDA ausgegeben wird stimmt nicht mit der überein, die ich ansprechen möchte. Das an SDA ausgegebene Bitmuster stimmt lediglich bei der Adresse 1001000. Messungen mit dem Oszilloskop über alle möglichen Adressen ergaben folgende Bitmuster: gewünschte Adresse -> Adresse an SDA 1001 000 -> 1001 000 1001 001 -> 1111 010 1001 010 -> 1001 101 1001 011 -> 1111 111 1001 100 -> 1111 000 1001 101 -> 1000 001 1001 110 -> 1101 110 1001 111 -> 1110 011 Hat dieses Problem schonmal jemand erlebt bzw. weiß jemand woran das liegen kann? Ich vermute, dass es entweder am ATMega selbst liegt oder dass es sich um ein Problem mit der Fleury library gibt. Grüße, Matthias