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
Hallo Sebastian, ja, der ATmega169 hat ein Register in dem Du einstellen kannst, welche Bits der Adresse als relevant empfangen werden sollen. Gruß Olaf
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
Hi, hab rausgefunden das es mit dem TWAMR Register geht auf den nicht-USI chips. Grüsse
Genau das TWAMR Register meinte ich. Ich meinte aber den ATmega168. Sorry. Gruß Olaf
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.