Forum: Mikrocontroller und Digitale Elektronik twi mehrere Adressen empfangen


von Sebastian B. (sebastian_)


Lesenswert?

Hi,

ich habe nen i2c Master der an verschiedene i2c Adressen Messages 
schickt.

Gibt es ne Möglichkeit das ein einzelner atmega alle Messages empfangen 
kann, egal an welche Zieladresse sie gehen?

Grüsse
Sebastian

von Olaf D. (Firma: O.D.I.S.) (dreyero)


Lesenswert?

Hallo Sebastian,

ja, der ATmega169 hat ein Register in dem Du einstellen kannst, welche 
Bits der Adresse als relevant empfangen werden sollen.

Gruß

Olaf

von Sebastian B. (sebastian_)


Lesenswert?

Hallo,

sieht so aus als wäre es mit USI-Geräten kein Problem, da da die Adresse 
in Software geprüft wird  und nicht von Chip selber.
Da der Atmega169 auch USI benutzt, würde mich mal interessieren welches 
Register du meinst ?

Weis jemand wo man ne TWI-USI Implementierung herbekommen kann die auf 
AVR-GCC läuft ? AVR312 compiliert auf avrgcc nicht.

Grüsse
Sebastian

von Sebastian B. (sebastian_)


Lesenswert?

Hi,

hab rausgefunden das es mit dem TWAMR Register geht auf den nicht-USI 
chips.

Grüsse

von Olaf D. (Firma: O.D.I.S.) (dreyero)


Lesenswert?

Genau das TWAMR Register meinte ich. Ich meinte aber den ATmega168. 
Sorry.


Gruß

Olaf

von Sebastian B. (sebastian_)


Lesenswert?

ok, das klappt schonmal.

jetzt hab ich nur noch folgendes Problem: wie erkenne ich für welche 
Adresse die Daten gedacht waren ?
Ich hol die Daten aus TWDR, aber wo steht die Adresse ? Ich bekomm ja 
Daten für mehrere Adressen.

Grüsse
Sebastian

von sebastian_ (Gast)


Lesenswert?

habs rausgefunden:

die zieladresse steht in TWDR in phase wo man nen interrupt bekommt mit 
SR_SLA_ACK in TWSR. die muss man sich dann einfach merken, wenn dann der 
interrupt mit SR_PREV_ACK kommt mit den daten, weis man für wen die 
waren.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.