Nicolas Nickisch schrieb:
> Meines Wissens ist es nicht erforderlich nach dem TWI_STO-Befehl auf
> dessen Vollzug zu warten.
>
> Was wohl geht, sind diese repeated-starts.
Richtig, das habe ich jetzt auch herausgefunden!
Wenn man TWSTA setzt bevor TWSTO zurückgesetzt wurde,
wird statt einer Startcondition eine repeated Startcondition
erzeugt. Also mit anderen Worten die Stopcondition "abgebrochen" bevor
sie überhaupt auf dem BUS erscheint und stattdessen eine Startcondition
erzeugt.
> Ansonsten ist es meines Wissens illegal nach START und Senden der
> Baustein-adresse sofort wieder STOp zu senden.
> Beim Emulieren wartet man dann beim nächsten START bis in alle Ewigkeit
> auf den Vollzug.
Offenbar nicht nur beim Emulieren. TWSTO wird dann nämlich auch nicht
mehr zurückgesetzt.
Das ist natürlich dann wie erwähnt etwas gefährlich, wenn man mit einer
while Schleife darauf wartet.
> Ich hatte jüngst die Situation, dass ich bei der initialisierung auf das
> korrekte Vorhandensein aller TWI-bausteine testen wollte udn somit alle
> Adressen durchgetestet habe.
viele Grüße,
Klaus