ATmega325PA Atmel Corporation, ATmega325PA Datasheet - Page 178

no-image

ATmega325PA

Manufacturer Part Number
ATmega325PA
Description
Manufacturer
Atmel Corporation
Datasheets

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
ATmega325PA-AU
Manufacturer:
Atmel
Quantity:
10 000
Part Number:
ATmega325PA-AUR
Manufacturer:
Atmel
Quantity:
10 000
8285D–AVR–06/11
ATmega165A/PA/325A/PA/3250A/PA/645A/P/6450A/P
show a transmit function that handles 9-bit characters. For the assembly code, the data to be
sent is assumed to be stored in registers R17:R16.
Notes:
The ninth bit can be used for indicating an address frame when using multi processor communi-
cation mode or for other protocol handling as for example synchronization.
Assembly Code Example
C Code Example
USART_Transmit:
void USART_Transmit( unsigned int data )
{
}
; Wait for empty transmit buffer
sbis UCSR0A,UDRE0
rjmp USART_Transmit
; Copy 9th bit from r17 to TXB80
cbi
sbrc r17,0
sbi
; Put LSB data (r16) into buffer, sends the data
sts
ret
/* Wait for empty transmit buffer */
while ( !( UCSR0A & (1<<UDRE0))) )
/* Copy 9th bit to TXB8n */
UCSR0B &= ~(1<<TXB80);
if ( data & 0x0100 )
/* Put data into buffer, sends the data */
UDR0 = data;
1. These transmit functions are written to be general functions. They can be optimized if the con-
2.
UCSR0B |= (1<<TXB80);
See ”About Code Examples” on page 9.
tents of the UCSRnB is static. For example, only the TXB8n bit of the UCSRnB Register is
used after initialization.
UCSR0B,TXB80
UCSR0B,TXB80
UDR0,r16
;
(1)(2)
(1)(2)
178

Related parts for ATmega325PA