ATMEGA323-8PI Atmel, ATMEGA323-8PI Datasheet - Page 84

IC AVR MCU 32K 8MHZ IND 40DIP

ATMEGA323-8PI

Manufacturer Part Number
ATMEGA323-8PI
Description
IC AVR MCU 32K 8MHZ IND 40DIP
Manufacturer
Atmel
Series
AVR® ATmegar
Datasheet

Specifications of ATMEGA323-8PI

Core Processor
AVR
Core Size
8-Bit
Speed
8MHz
Connectivity
I²C, SPI, UART/USART
Peripherals
Brown-out Detect/Reset, POR, PWM, WDT
Number Of I /o
32
Program Memory Size
32KB (16K x 16)
Program Memory Type
FLASH
Eeprom Size
1K x 8
Ram Size
2K x 8
Voltage - Supply (vcc/vdd)
4.5 V ~ 5.5 V
Data Converters
A/D 8x10b
Oscillator Type
Internal
Operating Temperature
-40°C ~ 85°C
Package / Case
40-DIP (0.600", 15.24mm)
Lead Free Status / RoHS Status
Contains lead / RoHS non-compliant
Other names
ATMEGA3238PI
Data Reception – The
USART Receiver
Receiving Frames with 5 to 8
Data Bits
84
ATmega323(L)
The USART Receiver is enabled by setting the Receive Enable (RXEN) bit in the
UCSRB Register. When the Receiver is enabled, the normal pin operation of the RxD
pin is overridden by the USART and given the function as the Receiver’s serial input.
The baud rate, mode of operation and frame format must be set up once before any
serial reception can be done. If synchronous operation is used, the clock on the XCK pin
will be used as transfer clock.
The Receiver starts data reception when it detects a valid start bit. Each bit that follows
the start bit will be sampled at the baud rate or XCK clock, and shifted into the Receive
Shift Register until the first stop bit of a frame is received. A second stop bit will be
ignored by the Receiver. When the first stop bit is received, i.e., a complete serial frame
is present in the Receive Shift Register, the contents of the Shift Register will be moved
into the receive buffer. The receive buffer can then be read by reading the UDR I/O
location.
The following code example shows a simple USART Receive function based on polling
of the Receive Complete (RXC) Flag. When using frames with less than eight bits the
most significant bits of the data read from the UDR will be masked to zero. The USART
has to be initialized before the function can be used.
Note:
The function simply waits for data to be present in the receive buffer by checking the
RXC Flag, before reading the buffer and returning the value.
Assembly Code Example
C Code Example
USART_Receive:
unsigned char USART_Receive( void )
{
}
; Wait for data to be received
sbis UCSRA, RXC
rjmp USART_Receive
; Get and return received data from buffer
in
ret
/* Wait for data to be received */
while ( !(UCSRA & (1<<RXC)) ) {};
/* Get and return received data from buffer */
return UDR;
1. The example code assumes that the part specific header file is included.
r16, UDR
(1)
1457G–AVR–09/03

Related parts for ATMEGA323-8PI