[AVR] TWI Adresse über einen Analog Input Pin setzen

Gast #2671261
Lesenswert?

Hallo!

Ich will einen TWI-Bus aufbauen, ich hab noch nichts programmiert, im 
Moment versuche ich noch alle Probleme auszuräumen.

Im Moment stehe ich vor dem Problem, wie man am besten die Adresse eines 
Slaves setzt. Ich möchte mehrere ATtiny25 als Slaves verwenden. Nach 
Abzug der 2 Pins für den TWI-Bus, bleiben noch 4 Pins für IO. Davon kann 
ich vielleicht noch einen Analog Pin entbehren über den man die Adresse 
einstellt. Wie macht man das am besten wenn man nur einen Pin hat?

Ich dachte erst man setzt für jede Adresse einen bestimmten Widerstand 
ein, liest den analogen Wert aus und rechnet das in eine Nummer zwischen 
2-100 um. (Auf Adresse 1 wollte ich meinen Master legen).

Gibt es einen besseren Weg?

Danke!

axlalf
Gast #2671331
Lesenswert?

Naja, ich dachte so an vielleicht bis zu 32 stück sollten reichen...

Würde das gehen? Das sollte die Sache mit dem Widerstand einfacher 
machen. Naja das mit in den EEPROM schreiben ist ein bisschen doof weil 
es wird nicht für mich, und wenn der jemand dann die Adresse ändern will 
dann wirds schwierig.

Okay, dann werde ich das mit dem Widerstand machen.
#2671756
Lesenswert?

axlalf schrieb:
> Naja das mit in den EEPROM schreiben ist ein bisschen doof weil
> es wird nicht für mich, und wenn der jemand dann die Adresse ändern will
> dann wirds schwierig.

Das ist sogar das einfachste.
Ein neu programmierter Slave meldet sich auf einer default Adresse.
Du hängst immer nur einen Slave an den Master, der erkennt die default 
Adresse und fordert Dich auf, eine andere Adresse zuzuweisen. Die 
speichert dann der Slave in seinem EEPROM ab.


Peter

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