Mit I2C alle Slaves ansprechen (AVR, Arduino Nano)

Gast #5325814
Lesenswert?
• ▲
▼
Hallo liebe Mikrocontrollerfreunde,

ich arbeite gerade an einem Projekt bei dem mehrere µC (Arduino Nano) 
über die I2C Schnittstelle miteinander kommunizieren sollen. Meine Frage 
bezieht sich auf den speziellen Fall das man alle Slaves mit der Adresse 
0 ansprechen will. Im diesem Wiki AVR TWI von mikrocontroller.net 
wird erwähnt das die Adresse 0 dafür reserviert ist alle Slaves 
anzusprechen.

Nun habe ich ein Programm geschrieben um das zu testen. Ich benutze die 
Bibliothek twi.h von einem "Nicholas Zambetti". Diese wird auch von der 
Wire.h verwendet die bei der Arduino IDE beiliegt. Das Programm 
funktioniert soweit das die Kommunikation mit der richtigen Slaveadresse 
läuft. Nur das senden an die Adresse 0 funktioniert nicht. Da bekomme 
ich von der Funktion twi_writeTo() immer den Fehler 2 =  "address send, 
NACK received" zurück.

Nun meine Fragen:

Ist es überhaupt möglich alle Slaves mit der Adresse 0 anzusprechen wenn 
es sich bei den Teilnehmern auch um µCs handelt?

Und wenn ja: Hat jemand einen kleinen Tipp für mich wo der Fehler liegen 
kann oder, noch besser, man ein Beispiel dafür herbekommt.


Link zu der twi.h die ich verwende:
https://android.googlesource.com/platform/external/arduino/+/d5790d78880d4bd60be277ee20e53a851aa8c116/libraries/Wire/utility
Gast #5326753
Lesenswert?
• ▲
▼
Erst mal vielen Dank für die zwei Antworten,

der Tipp mit dem "general Call enabled" hat mich gerade sehr weiter 
gebracht. Habe mal im Tutorial danach gesucht und auch was gefunden.

Das erste Bit (LSB) im Register TWAR (TWI Adress Register), hat den 
Namen TWGCE (TWI General Call Recognition Enable). Damit kann man diese 
Funktion wohl aktivieren. Ich hätte den Text wohl besser ganz durchlesen 
sollen anstatt ihn nur zu überfliegen. Werde es nachher mal testen wenn 
ich Zuhause bin.

Vielen Dank für den schnellen Tipp :)

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.