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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren