Forum: Mikrocontroller und Digitale Elektronik I2C Stop condition, was wenn 2x ausgeführt?


von Franz (Gast)


Lesenswert?

Hallo Leute,

aus den Atmel Datenblättern ersehe ich nicht, was passiert, wenn ich 2x 
Stop Conditions ausführe (beim ersten mal geht das TWSTO Bit wieder low 
von der Hardware, sodass ich darauf warten kann. Beim zweiten Mal 
allerdings nicht.)
Wie bekomme ich meinen Bus wieder in einen definierten Zustand?
Danke schonmal

Franz

von Uwe B. (boerge) Benutzerseite


Lesenswert?


von Franz (Gast)


Lesenswert?

Ok, danke,
hab den Thread gelesen.
Allerdings bin ich mir nicht klar darüber, ob wiederholte Stop 
Conditions beim AVR auch ausgeführt werden, auch wenn das TWSTO Bit 
nicht von der Hardware zurückgesetzt wird.

Wie also kann ich wissen, ob die Stop Conditions ausgeführt wurden, wie 
lange müsste ich warten, bis ich die nächste ausführe.

Alles Gute,

Franz

von Peter D. (peda)


Lesenswert?

Franz schrieb:
> Allerdings bin ich mir nicht klar darüber, ob wiederholte Stop
> Conditions beim AVR auch ausgeführt werden, auch wenn das TWSTO Bit
> nicht von der Hardware zurückgesetzt wird.

Nach dem Stop ist das HW-I2C wieder im Slave-Modus. Es kann also kein 
weiteres Stop senden und daher bleibt das Bit gesetzt.
Die einzige Möglichkeit, wieder Master zu werden, ist ein Start zu 
senden.

Die einzige Möglichkeit, mehrere Stop zu senden ist das HW-I2C zu 
disablen und dann per Bit-Banging als SW-I2C.


Peter

von Franz (Gast)


Lesenswert?

Aha.
Das beantwortet meine Frage fast vollständig.
Wo kann ich das denn im Datenblatt eines ATmega nachlesen?
Ich kau seit Tagen auf dem Datenblatt rum.
Danke auf jeden Fall!

Franz

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.