ATMEGA644PV ATMEL [ATMEL Corporation], ATMEGA644PV Datasheet - Page 175

no-image

ATMEGA644PV

Manufacturer Part Number
ATMEGA644PV
Description
8-bit Microcontroller with 16/32/64K Bytes In-System Programmable Flash
Manufacturer
ATMEL [ATMEL Corporation]
Datasheet

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
ATMEGA644PV-10AQ
Manufacturer:
Atmel
Quantity:
10 000
Part Number:
ATMEGA644PV-10AQR
Manufacturer:
Atmel
Quantity:
10 000
Part Number:
ATMEGA644PV-10AU
Manufacturer:
Atmel
Quantity:
10 000
Part Number:
ATMEGA644PV-10AUR
Manufacturer:
Atmel
Quantity:
10 000
Part Number:
ATMEGA644PV-10MU
Manufacturer:
ATMEL/爱特梅尔
Quantity:
20 000
Part Number:
ATMEGA644PV-20AU
Manufacturer:
Atmel
Quantity:
10 000
17.7
8011D–AVR–02/07
Data Transmission – The USART Transmitter
check that there are no unread data in the receive buffer. Note that the TXCn Flag must be
cleared before each transmission (before UDRn is written) if it is used for this purpose.
The following simple USART initialization code examples show one assembly and one C func-
tion that are equal in functionality. The examples assume asynchronous operation using polling
(no interrupts enabled) and a fixed frame format. The baud rate is given as a function parameter.
For the assembly code, the baud rate parameter is assumed to be stored in the r17:r16
Registers.
Note:
More advanced initialization routines can be made that include frame format as parameters, dis-
able interrupts and so on. However, many applications use a fixed setting of the baud and
control registers, and for these types of applications the initialization code can be placed directly
in the main routine, or be combined with initialization code for other I/O modules.
The USART Transmitter is enabled by setting the Transmit Enable (TXEN) bit in the UCSRnB
Register. When the Transmitter is enabled, the normal port operation of the TxDn pin is overrid-
den by the USART and given the function as the Transmitter’s serial output. The baud rate,
mode of operation and frame format must be set up once before doing any transmissions. If syn-
chronous operation is used, the clock on the XCKn pin will be overridden and used as
transmission clock.
Assembly Code Example
C Code Example
USART_Init:
void USART_Init( unsigned int baud )
{
}
; Set baud rate
out
out
; Enable receiver and transmitter
ldi
out
; Set frame format: 8data, 2stop bit
ldi
out
ret
/* Set baud rate */
UBRRHn = (unsigned char)(baud>>8);
UBRRLn = (unsigned char)baud;
/* Enable receiver and transmitter */
UCSRnB = (1<<RXENn)|(1<<TXENn);
/* Set frame format: 8data, 2stop bit */
UCSRnC = (1<<USBSn)|(3<<UCSZn0);
1. See “About Code Examples” on page 8.
UBRRHn, r17
UBRRLn, r16
r16, (1<<RXENn)|(1<<TXENn)
UCSRnB,r16
r16, (1<<USBSn)|(3<<UCSZn0)
UCSRnC,r16
(1)
(1)
ATmega164P/324P/644P
175

Related parts for ATMEGA644PV