Titelbild Mikrocontroller

15.11.1. UDR – USART I/O Data Register


UDR Register des ATmega8

UDR Register des ATmega8



Das USART Sender Daten Buffer Register und das Empfänger Daten Buffer Register teilen sich die gleiche I/O Speicherstelle, die mit USART Data Register oder UDR bezeichnet wird. Das Sender Data Buffer Register (TXB) ist das Ziel für Daten, die in das UDR geschrieben werden. Das Lesen des UDR Registers wird den Inhalt des Empfänger Daten Buffer Registers (RXB) zurückgeben. Bei 5, 6 oder 7 Bit Zeichen werden die oberen, ungenutzten Bits vom Sender ignoriert und vom Empfänger auf Null gesetzt.

Der Sendebuffer kann nur beschrieben werden, wenn das UDRE Flag im UCSRC Register gesetzt ist. Daten, die in das UDR geschrieben werden, wenn das UDRE Flag nicht gesetzt ist, werden durch den Sender ignoriert. Wenn Daten in den Senderbuffer geschrieben wurden und der Sender freigegeben ist, wird der Sender die Daten in das Schieberegister laden, sobald das Schieberegister leer ist. Dann werden die Daten seriell über den TxD Pin ausgesendet.

Der Empfängerbuffer besteht aus zwei FIFOs. Die FIFOs ändern ihren Status, wenn auf den Empfängerbuffer zugegriffen wird. Aufgrund dieses Verhaltens des Empfängerbuffers sollten keine Lesen-Ändern-Schreiben Befehle auf diese Speicherstelle angewendet werden. Man muss auch vorsichtig bei der Verwendung von Bit-Test Befehlen sein, da diese ebenfalls den Status des FIFO verändern.
Impressum