AT90S/LS2333 and AT90S/LS4433
47
3.
Each slave MCU reads the UDR register and determines if it has been selected. If so, it clears the MPCM bit in
UCSRA, otherwise it waits for the next address byte.
4.
For each received data byte, the receiving MCU will set the receive complete flag (RXC in UCSRA). In 8-bit mode,
the receiving MCU will also generate a framing error (FE in UCSRA set), since the stop bit is zero. The other slave
MCUs, which still have the MPCM bit set, will ignore the data byte. In this case, the UDR register and the RXC or FE
flags will not be affected.
5.
After the last byte has been transferred, the process repeats from step 2.
UART Control
UART I/O Data Register - UDR
The UDR register is actually two physically separate registers sharing the same I/O address. When writing to the register,
the UART Transmit Data register is written. When reading from UDR, the UART Receive Data register is read.
UART Control and Status Registers - UCSRA
•
Bit 7 - RXC: UART Receive Complete
This bit is set (one) when a received character is transferred from the Receiver Shift register to UDR. The bit is set regard-
less of any detected framing errors. When the RXCIE bit in UCR is set, the UART Receive Complete interrupt will be
executed when RXC is set(one). RXC is cleared by reading UDR. When interrupt-driven data reception is used, the UART
Receive Complete Interrupt routine must read UDR in order to clear RXC, otherwise a new interrupt will occur once the
interrupt routine terminates.
•
Bit 6 - TXC: UART Transmit Complete
This bit is set (one) when the entire character (including the stop bit) in the Transmit Shift register has been shifted out and
no new data has been written to UDR. This flag is especially useful in half-duplex communications interfaces, where a
transmitting application must enter receive mode and free the communications bus immediately after completing the
transmission.
When the TXCIE bit in UCR is set, setting of TXC causes the UART Transmit Complete interrupt to be executed. TXC is
cleared by hardware when executing the corresponding interrupt handling vector. Alternatively, the TXC bit is cleared
(zero) by writing a logical one to the bit.
•
Bit 5 - UDRE: UART Data Register Empty
This bit is set (one) when a character written to UDR is transferred to the Transmit shift register. Setting of this bit indicates
that the transmitter is ready to receive a new character for transmission.
When the UDRIE bit in UCR is set, the UART Transmit Complete interrupt to be executed as long as UDRE is set. UDRE is
cleared by writing UDR. When interrupt-driven data transmittal is used, the UART Data Register Empty Interrupt routine
must write UDR in order to clear UDRE, otherwise a new interrupt will occur once the interrupt routine terminates.
UDRE is set (one) during reset to indicate that the transmitter is ready.
•
Bit 4 - FE: Framing Error
This bit is set if a Framing Error condition is detected, i.e. when the stop bit of an incoming character is zero.
The FE bit is cleared when the stop bit of received data is one.
Bit
7
6
5
4
3
2
1
0
$0C ($2C)
MSB
LSB
UDR
Read/Write
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Initial value
0
0
0
0
0
0
0
0
Bit
7
6
5
4
3
2
1
0
$0B ($2B)
RXC
TXC
UDRE
FE
OR
-
-
MPCM
UCSRA
Read/Write
R
R/W
R
R
R
R
R
R/W
Initial value
0
0
1
0
0
0
0
0