English
Language : 

ATMEGA162V_07 Datasheet, PDF (186/325 Pages) ATMEL Corporation – 8-bit Microcontroller with 16K Bytes In-System Programmable Flash
Accessing UBRRH/
UCSRC Registers
Write Access
The UBRRH Register shares the same I/O location as the UCSRC Register. Therefore
some special consideration must be taken when accessing this I/O location.
When doing a write access of this I/O location, the high bit of the value written, the
USART Register Select (URSEL) bit, controls which one of the two registers that will be
written. If URSEL is zero during a write operation, the UBRRH value will be updated. If
URSEL is one, the UCSRC setting will be updated.
The following code examples show how to access the two registers.
Assembly Code Examples(1)
...
; Set UBRRH to 2
ldi r16,0x02
out UBRRH,r16
...
; Set the USBS and the UCSZ1 bit to one, and
; the remaining bits to zero.
ldi r16,(1<<URSEL)|(1<<USBS)|(1<<UCSZ1)
out UCSRC,r16
...
C Code Examples(1)
...
/* Set UBRRH to 2 */
UBRRH = 0x02;
...
/* Set the USBS and the UCSZ1 bit to one, and */
/* the remaining bits to zero. */
UCSRC = (1<<URSEL)|(1<<USBS)|(1<<UCSZ1);
...
Note: 1. The example code assumes that the part specific header file is included.
As the code examples illustrate, write accesses of the two registers are relatively unaf-
fected of the sharing of I/O location.
186 ATmega162/V
2513I–AVR–02/07