Datasheet

148
8246A–AVR–11/09
ATtiny2313A/4313
baud rate is given as a function parameter. For the assembly code, the baud rate parameter is
assumed to be stored in the r17:r16 registers.
Note: 1. See ”Code Examples” on page 6.
Assembly Code Example
(1)
USART_Init:
clr r18
out UBRRH,r18
out UBRRL,r18
; Setting the XCK port pin as output, enables master mode.
sbi XCK_DDR, XCK
; Set MSPI mode of operation and SPI data mode 0.
ldi r18, (1<<UMSEL1)|(1<<UMSEL0)|(0<<UCPHA)|(0<<UCPOL)
out UCSRC,r18
; Enable receiver and transmitter.
ldi r18, (1<<RXEN)|(1<<TXEN)
out UCSRB,r18
; Set baud rate.
; IMPORTANT: The Baud Rate must be set after the transmitter is enabled!
out UBRRH, r17
out UBRRL, r18
ret
C Code Example
(1)
void USART_Init( unsigned int baud )
{
UBRR = 0;
/* Setting the XCK port pin as output, enables master mode. */
XCK_DDR |= (1<<XCK);
/* Set MSPI mode of operation and SPI data mode 0. */
UCSRC = (1<<UMSEL1)|(1<<UMSEL0)|(0<<UCPHA)|(0<<UCPOL);
/* Enable receiver and transmitter. */
UCSRB = (1<<RXEN)|(1<<TXEN);
/* Set baud rate. */
/* IMPORTANT: The Baud Rate must be set after the transmitter is enabled
*/
UBRR = baud;
}