Titelbild Mikrocontroller

15.10. Zugriff auf UBRRH und UCSRC Register

Das UBRRH und das UCSRC Register teilen sich eine I/O Speicherstelle. Daher sind einige spezielle Bedingungen beim Zugriff auf diese Speicherstelle zu beachten.

Schreibender Zugriff

Bei einem schreibenden Zugriff auf die I/O Speicherstelle bestimmt das oberste Bit des zu schreibenden Wertes, das USART Register Select Bit (URSEL), in welches der beiden Register geschrieben wird. Ist das URSEL Bit während des Schreibvorganges 0, dann wird das UBRRH Register angesprochen. Wenn das URSEL Bit 1 ist, wird das UCSRC Register angesprochen.

Die folgende Sequenz zeigt den Zugriff auf die beiden Register:

Zugriff auf UBRRH und UCSRC

Zugriff auf UBRRH und UCSRC


Wie das Beispiel zeigt, ist der Zugriff auf die beiden Register relativ unbeeinflusst von der Teilung der I/O Speicherstelle.

Lesender Zugriff

Der lesende Zugriff auf die UBRRH und UCSRC Register ist etwas komplexer. Allerdings kommt in den meisten Applikationen ein lesender Zugriff auf die Register recht selten vor.

Der schreibende Zugriff ist zeitgesteuert. Das erstmalige Lesen gibt immer den Inhalt des UBRRH Registers zurück. Wurde die Registerstelle im vorigen Takt gelesen, so wird durch ein erneutes Lesen im laufenden Taktzyklus der Inhalt des UCSRC Registers zurückgegeben. Zu beachten ist, dass diese zeitgesteuerte Sequenz für das Lesen des UCSRC Registers unteilbar ist, so dass in dieser Zeit keine Interrupts auftreten dürfen.

Das folgende Beispiel zeigt, wie das UCSRC Register ausgelesen wird:

Lesen UCSRC Register

Lesen UCSRC Register


Das Lesen des UBRRH Registers ist keine unteilbarer Befehl, daher kann es wie ein gewöhnliches Register gelesen werden, solange die darauf folgende Operation nicht erneut auf die Speicherzelle zugreift.
Impressum