AT90PWM216-16SE ATMEL [ATMEL Corporation], AT90PWM216-16SE Datasheet - Page 193

no-image

AT90PWM216-16SE

Manufacturer Part Number
AT90PWM216-16SE
Description
8-bit Microcontroller with 16K Bytes In-System Programmable flash
Manufacturer
ATMEL [ATMEL Corporation]
Datasheet
18.6.2
18.6.3
7710D–AVR–08/09
Sending Frames with 9 Data Bit
Transmitter Flags and Interrupts
If 9-bit characters are used (UCSZ = 7), the ninth bit must be written to the TXB8 bit in UCSRB
before the low byte of the character is written to UDR. The following code examples 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.
The USART Transmitter has two flags that indicate its state: USART Data Register Empty
(UDRE) and Transmit Complete (TXC). Both flags can be used for generating interrupts.
Assembly Code Example
C Code Example
TABLE 2.
USART_Transmit:
void USART_Transmit( unsigned int data )
{
}
; Wait for empty transmit buffer
sbis UCSRA,UDRE
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 ( !( UCSRA & (1<<UDRE))) )
/* Copy 9th bit to TXB8 */
UCSRB &= ~(1<<TXB80);
if ( data & 0x0100 )
/* Put data into buffer, sends the data */
UDR = data;
1. These transmit functions are written to be general functions. They can be optimized if the con-
2. The example code assumes that the part specific header file is included.
UCSRB |= (1<<TXB80);
tents of the UCSRB is static. For example, only the TXB80 bit of the UCSRB0 Register is used
after initialization.
For I/O Registers located in extended I/O map, “IN”, “OUT”, “SBIS”, “SBIC”, “CBI”, and “SBI”
instructions must be replaced with instructions that allow access to extended I/O. Typically
“LDS” and “STS” combined with “SBRS”, “SBRC”, “SBR”, and “CBR”.
UCSRB,TXB80
UCSRB,TXB80
UDR,r16
;
(1)(2)
(1)(2)
AT90PWM216/316
193

Related parts for AT90PWM216-16SE