Electronic Components Datasheet Search
  English  ▼

X  

ATMEGA640 Datasheet(PDF) 217 Page - ATMEL Corporation

Part # ATMEGA640
Description  8-bit Microcontroller with 64K/128K/256K Bytes In-System Programmable Flash
PDF  449 Pages
Scroll/Zoom Zoom In 100%  Zoom Out
Manufacturer  ATMEL [ATMEL Corporation]
Direct Link  http://www.atmel.com
Logo ATMEL - ATMEL Corporation

ATMEGA640 Datasheet(HTML) 217 Page - ATMEL Corporation

Back Button ATMEGA640 Datasheet HTML 213Page - ATMEL Corporation ATMEGA640 Datasheet HTML 214Page - ATMEL Corporation ATMEGA640 Datasheet HTML 215Page - ATMEL Corporation ATMEGA640 Datasheet HTML 216Page - ATMEL Corporation ATMEGA640 Datasheet HTML 217Page - ATMEL Corporation ATMEGA640 Datasheet HTML 218Page - ATMEL Corporation ATMEGA640 Datasheet HTML 219Page - ATMEL Corporation ATMEGA640 Datasheet HTML 220Page - ATMEL Corporation ATMEGA640 Datasheet HTML 221Page - ATMEL Corporation Next Button
Zoom Inzoom in Zoom Outzoom out
 217 / 449 page
background image
217
ATmega640/1280/1281/2560/2561
2549K–AVR–01/07
Sending Frames with 9 Data
Bit
If 9-bit characters are used (UCSZn = 7), the ninth bit must be written to the TXB8 bit in
UCSRnB before the low byte of the character is written to UDRn. 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:
1. These transmit functions are written to be general functions. They can be optimized if
the contents of the UCSRnB is static. For example, only the TXB8 bit of the UCSRnB
Register is used after initialization.
2. See “About Code Examples” on page 9.
The ninth bit can be used for indicating an address frame when using multi processor
communication mode or for other protocol handling as for example synchronization.
Assembly Code Example(1)(2)
USART_Transmit:
; Wait for empty transmit buffer
sbis
UCSRnA,UDREn
rjmp
USART_Transmit
; Copy 9th bit from r17 to TXB8
cbi
UCSRnB,TXB8
sbrc
r17,0
sbi
UCSRnB,TXB8
; Put LSB data (r16) into buffer, sends the data
out
UDRn,r16
ret
C Code Example
(1)(2)
void
USART_Transmit( unsigned int data )
{
/* Wait for empty transmit buffer */
while
( !( UCSRnA & (1<<UDREn))) )
;
/* Copy 9th bit to TXB8 */
UCSRnB &= ~(1<<TXB8);
if ( data & 0x0100 )
UCSRnB |= (1<<TXB8);
/* Put data into buffer, sends the data */
UDRn = data;
}



Html Pages

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100  ...More


Datasheet Download

Go To PDF Page


Link URL



Does ALLDATASHEET help your business so far?  [ DONATE ] 

About Alldatasheet   |   Advertisement   |   Contact us   |   Privacy Policy   |   Link to Datasheet    |   Link Exchange   |   Manufacturer List
All Rights Reserved©Alldatasheet.com


Mirror Sites
English : Alldatasheet.com  |   English : Alldatasheet.net  |   Chinese : Alldatasheetcn.com  |   German : Alldatasheetde.com  |   Japanese : Alldatasheet.jp
Russian : Alldatasheetru.com  |   Korean : Alldatasheet.co.kr  |   Spanish : Alldatasheet.es  |   French : Alldatasheet.fr  |   Italian : Alldatasheetit.com
Portuguese : Alldatasheetpt.com  |   Polish : Alldatasheet.pl  |   Vietnamese : Alldatasheet.vn
Indian : Alldatasheet.in  |   Mexican : Alldatasheet.com.mx  |   British : Alldatasheet.co.uk  |   New Zealand : Alldatasheet.co.nz
Family Site : ic2ic.com  |   icmetro.com