Hallo, Ich versuche seit einiger Zeit mehere XMegas über I2C kommunizieren zu lassen. Hierzu sollen sie beim Einschalten eine dynamische Adresse bekommen. Nach dem Einschalten versucht jeder über einen General call die ID des Bausteins zu senden. Der der zuerst sendet, sendet nach der Baustein-ID noch seine I2C ID. Seine I2C ID wird bestimmt von einer Basis Adresse. Wenn einer eine I2C ID auf den Bus legt, wird diese von den anderen Bausteinen die noch keine I2C Adresse haben incrementiert und als BasisAdresse übernommen. Soweit die Idee. Ich benutze zur Zeit zum Testen zwei verschiedene Bausteine. Ein XMega 128A1 und ein XMega 16A4. Auf beiden läuft der gleiche Code(nur die Baustein ID ist anders). Das Problem ist das sich beide unterschiedlich verhalten. Wenn der 128A1 zuerst seine ID sendet dann klappt alles. Wenn der 16A4 zuerst sendet bekommt dies der 128er nicht mit. (Nach der Initialisierung warte ich eine Zeit bis ich anfange zu senden. Jeder Baustein ist als Master und als Slave initialisiert.) Hat jemand irgendeine Idee woran das liegen könnt?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.