XMega I2C Dynamische Adressvergabe

OP #2084598
Lesenswert?
• ▲
▼
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?

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.