163
ATmega8535(L)
2502K–AVR–10/06
Accessing
UBRRH/UCSRC
Registers
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.
Write Access
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.
Note:
1. See “About Code Examples” on page 7.
As the code examples illustrate, write accesses of the two registers are relatively unaf-
fected of the sharing of I/O location.
Assembly Code Examples
...
;
Set UBRRH to 2
ldi
r16,0x02
out
UBRRH,r16
...
;
Set the USBS and the UCSZ1 bit to one, and
; t
he remaining bits to zero.
ldi
r16,(1<<URSEL)|(1<<USBS)|(1<<UCSZ1)
out
UCSRC,r16
...
C Code Examples
...
/*
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);
...
Summary of Contents for ATmega8535
Page 314: ...314 ATmega8535 L 2502K AVR 10 06 ...
Page 320: ...vi ATmega8535 L 2502K AVR 10 06 ...