Titelbild Mikrocontroller

16.6.4. TWDR – TWI Data Register


TWDR Register des ATmega8

TWDR Register des ATmega8



Im Sendemodus enthält das TWDR das nächste Byte, das gesendet wird. Im Empfangsmodus enthält das TWDR das letzte Byte, das empfangen wurde. Das Register ist beschreibbar, solange das TWI nicht mit dem Schieben eines Bytes beschäftigt ist, was durch das Setzen des TWI Interrupt Flag (TWINT) durch die Hardware angezeigt wird. Man beachte, dass das Data Register nicht initialisiert werden kann bevor der erste Interrupt auftritt. Die Daten im TWI bleiben so lange stabil, wie das TWINT gesetzt ist. Während die Daten rausgeschoben werden, werden die Daten auf dem Bus gleichzeitig reingeschoben. Das TWDR enthält immer das letzte Byte, das auf dem Bus präsent war. Außer nach dem Aufwachen aus einem Sleep-Modus durch dem TWI Interrupt. In diesem Fall ist der Inhalt des TWDR unbestimmt. Im Falle eines verlorenen Schiedsgerichtes gehen keine Daten während des Überganges vom Master in den Slave Modus verloren. Das Handhaben des ACK Bits wird durch die TWI Logik automatisch kontrolliert, die CPU kann nicht direkt auf das ACK Bit zugreifen.

Bit 7 bis 0 – TWD: TWI Data Register

Diese 8 Bits enthalten das nächste zu sendende Byte oder das letzte empfangene Byte.
Impressum