Arduino mehrere Geräte ansteuern

Gast #6079301
Lesenswert?
• ▲
▼
Hallo zusammen,

ich benötige eure Hilfe.

Ich möchte mit einem Arduino 8 Geräte unterschiedlich ansteuern. Habe 
eine Hex Zahl welche vorgibt welches Gerät angesteuert werden soll.
Wie kann ich dies nun am besten auswerten?

z.B.

nur Gerät 1 - 001HEX
Gerät 3 und 5 - 028HEX
alle Geräte - 0FFHEX

hoffe auf eure Unterstützung.
Gast #6079381
Lesenswert?
• ▲
▼
Glaube dass ich mich ein wenig falsch ausgedrückt habe.

Die slaves sind mit Adressen vordefiniert.

Ich sende über i2c eine zeichenfolge welche hinten raus am Slave 
entschlüsselt wird.

Die Zeichenfolge besteht aus:

Device.Event.Function
XX.XXXX.XX.

Die slaves sollen die Funktion nur ausführen wenn der Device Code sich 
dementsprechend aufschlüsselt.
#6079420
Lesenswert?
• ▲
▼
veilleicht könnte ja
1
if
 dein freund sein. dann machst du noch etwas wildes bit-shifting und gut 
is.

so in die richtung
1
if (zeichenfolge & (0x001 << 6) == (0x001 << 6))
2
{
3
}

kann man natürlich alles nur raten. nimmst du denn c++? arduino läst 
darauf schließen.

und es gibt einen unterschied zwischen "falsch ausgedrückt" und "garnich 
erwähnt"
#6079473
Lesenswert?
• ▲
▼
Sind die 8 Geräte alles I2C Slaves?
Wenn ja: I2C arbeitet ja schon mit individuellen Device-Adressen für 
jeden Slave. Es ist also nicht nötig, die Adressierung nochmal in den zu 
übermittelnden Daten zu haben.
Ausserdem kann auf dem Bus jeweils immer nur 1 Slave angesprochen 
werden, wenn du alle 8 ansprechen willst, musst du das sequentiell 
machen.
Gast #6079487
Lesenswert?
• ▲
▼
Joe F. schrieb:
> Ausserdem kann auf dem Bus jeweils immer nur 1 Slave angesprochen
> werden, wenn du alle 8 ansprechen willst, musst du das sequentiell
> machen.

Jain!
Denn es gibt ja noch den General Call, dann sollten sich alle 
angesprochen fühlen.

Z.B. die AVR TWI Einheiten können mit Adressmasken umgehen, decken so 
dann ganze Adressbereiche ab.

Beides ist eher unüblich und wird nicht von allen Libs unterstützt.
Aber machbar, wenn man ernstlich will.

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.