ATmega325PA Atmel Corporation, ATmega325PA Datasheet - Page 182

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
Note:
The receive function example reads all the I/O Registers into the Register File before any com-
putation is done. This gives an optimal receive buffer utilization since the buffer location read will
be free to accept new data as early as possible.
Assembly Code Example
C Code Example
USART_Receive:
USART_ReceiveNoError:
unsigned int USART_Receive( void )
{
}
; Wait for data to be received
sbis UCSR0A, RXC0
rjmp USART_Receive
; Get status and 9th bit, then data from buffer
in
in
in
; If error, return -1
andi r18,(1<<FE0)|(1<<DOR0)|(1<<UPE0)
breq USART_ReceiveNoError
ldi
ldi
; Filter the 9th bit, then return
lsr
andi r17, 0x01
ret
unsigned char status, resh, resl;
/* Wait for data to be received */
while ( !(UCSRnA & (1<<RXCn)) )
/* Get status and 9th bit, then data */
/* from buffer */
status = UCSR0A;
resh = UCSR0B;
resl = UDR0;
/* If error, return -1 */
if ( status & (1<<FE0)|(1<<DOR0)|(1<<UPE0) )
/* Filter the 9th bit, then return */
resh = (resh >> 1) & 0x01;
return ((resh << 8) | resl);
1.
return -1;
”About Code Examples” on page 9
r18, UCSR0A
r17, UCSR0B
r16, UDR0
r17, HIGH(-1)
r16, LOW(-1)
r17
;
(1)
(1)
182

Related parts for ATmega325PA