PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : I2C - Wechsel von MasterTransmitter -> MasterReceiver



simple
21.07.2006, 13:21
Hallo zusammen,

ich habe eine Verständisfrage zum Thema I2C (TWI). Ich programmiere einen Atmega16. Jetzt möchte ich eine RTC, die über I2C angeschlossen ist, auslesen.
Ich habe bereits zwei Funktionen MT (MasterTransmitter) und MR (MasterReceiver) geschrieben. Diese funktionieren auch. Um die RTC auszulesen muss ich zunächst du Addr.Pointer setzten, d.h. ich muss in den MT-Modus. Danach möchte ich das adressierte Register auslesen, d.h. ich muss in den MR-Modus.

Frage: wie gestalte ich den Wechsel zwischen MT --> MR-Modus? Muss dazwischen eine Stopbedingung gesetzt werden und dann wieder erneut der Slave adressiert werden? Oder gibt es andere Möglichkeiten?

Vielen Dank für Euere Hilfe,
simple.

PicNick
21.07.2006, 13:24
Wenn du als MT dein Zeugs gesendet hast, machst du direkt wieder Start und sendest SLA+R , dadurch bist du MR
Der Wechsel wird durch die Adress (R/W Bit) ausgelöst.

Theoretisch kannst du natürlich dazwischen STOP machen, wenn du der einzige Master bist. Aber das sollte man sich nicht angewöhnen.

simple
21.07.2006, 13:29
Aha.
Dachte nicht, dass das so einfach geht. Das ist ja praktisch.

Danke für die schnelle Antowort!
Schönes WE, simple.