Datasheet

189
2490R–AVR–02/2013
ATmega64(L)
load the data into the Transmit Shift Register when the Shift Register is empty. Then the data
will be serially transmitted on the TxD pin.
The receive buffer consists of a two level FIFO. The FIFO will change its state whenever the
receive buffer is accessed. Due to this behavior of the receive buffer, do not use read modify
write instructions (SBI and CBI) on this location. Be careful when using bit test instructions (SBIC
and SBIS), since these also will change the state of the FIFO.
UCSRnA – USART
Control and Status
Register A
Bit 7 – RXCn: USART Receive Complete
This flag bit is set when there are unread data in the receive buffer and cleared when the receive
buffer is empty (that is, does not contain any unread data). If the receiver is disabled, the receive
buffer will be flushed and consequently the RXCn bit will become zero. The RXCn flag can be
used to generate a Receive Complete interrupt (see description of the RXCIEn bit).
Bit 6 – TXCn: USART Transmit Complete
This flag bit is set when the entire frame in the Transmit Shift Register has been shifted out and
there are no new data currently present in the transmit buffer (UDR). The TXC flag bit is auto-
matically cleared when a transmit complete interrupt is executed, or it can be cleared by writing
a one to its bit location. The TXC flag can generate a Transmit Complete interrupt (see descrip-
tion of the TXCIE bit).
Bit 5 – UDREn: USART Data Register Empty
The UDREn flag indicates if the transmit buffer (UDR) is ready to receive new data. If UDREn is
one, the buffer is empty, and therefore ready to be written. The UDREn flag can generate a Data
Register Empty interrupt (see description of the UDRIEn bit).
UDREn is set after a reset to indicate that the Transmitter is ready.
Bit 4 – FEn: Frame Error
This bit is set if the next character in the receive buffer had a Frame Error when received. For
example, when the first stop bit of the next character in the receive buffer is zero. This bit is valid
until the receive buffer (UDR) is read. The FE bit is zero when the stop bit of received data is
one. Always set this bit to zero when writing to UCSRA.
Bit 3 – DORn: Data OverRun
This bit is set if a Data OverRun condition is detected. A Data OverRun occurs when the receive
buffer is full (two characters), it is a new character waiting in the Receive Shift Register, and a
new start bit is detected. This bit is valid until the receive buffer (UDRn) is read. Always set this
bit to zero when writing to UCSRnA.
Bit 2 – UPEn: USART Parity Error
This bit is set if the next character in the receive buffer had a Parity Error when received and the
Parity Checking was enabled at that point (UPM1 = 1). This bit is valid until the receive buffer
(UDRn) is read. Always set this bit to zero when writing to UCSRnA.
Bit 76543210
RXCn TXCn UDREn FEn DORn UPEn U2Xn MPCMn UCSRnA
Read/WriteRR/WRRRRR/WR/W
Initial Value00100000