Electronic Components Datasheet Search
  English  ▼

X  

ATMEGA649 Datasheet(PDF) 172 Page - ATMEL Corporation

Part # ATMEGA649
Description  8-bit Microcontroller with In-System Programmable Flash
PDF  375 Pages
Scroll/Zoom Zoom In 100%  Zoom Out
Manufacturer  ATMEL [ATMEL Corporation]
Direct Link  http://www.atmel.com
Logo ATMEL - ATMEL Corporation

ATMEGA649 Datasheet(HTML) 172 Page - ATMEL Corporation

Back Button ATMEGA649 Datasheet HTML 168Page - ATMEL Corporation ATMEGA649 Datasheet HTML 169Page - ATMEL Corporation ATMEGA649 Datasheet HTML 170Page - ATMEL Corporation ATMEGA649 Datasheet HTML 171Page - ATMEL Corporation ATMEGA649 Datasheet HTML 172Page - ATMEL Corporation ATMEGA649 Datasheet HTML 173Page - ATMEL Corporation ATMEGA649 Datasheet HTML 174Page - ATMEL Corporation ATMEGA649 Datasheet HTML 175Page - ATMEL Corporation ATMEGA649 Datasheet HTML 176Page - ATMEL Corporation Next Button
Zoom Inzoom in Zoom Outzoom out
 172 / 375 page
background image
172
ATmega329/3290/649/6490
2552H–AVR–11/06
The following code example shows a simple USART receive function that handles both
nine bit characters and the status bits.
Note:
1. See “About Code Examples” on page 8.
The receive function example reads all the I/O Registers into the Register File before
any computation is done. This gives an optimal receive buffer utilization since the buffer
location read will be free to accept new data as early as possible.
Assembly Code Example(1)
USART_Receive:
; Wait for data to be received
sbis
UCSR0A, RXC0
rjmp
USART_Receive
; Get status and 9th bit, then data from buffer
in
r18, UCSR0A
in
r17, UCSR0B
in
r16, UDRn
; If error, return -1
andi
r18,(1<<FE0)|(1<<DOR0)|(1<<UPE0)
breq
USART_ReceiveNoError
ldi
r17, HIGH(-1)
ldi
r16, LOW(-1)
USART_ReceiveNoError:
; Filter the 9th bit, then return
lsr
r17
andi
r17, 0x01
ret
C Code Example(1)
unsigned int
USART_Receive( void )
{
unsigned char
status, resh, resl;
/* Wait for data to be received */
while
( !(UCSR0A & (1<<RXC0)) )
;
/* Get status and 9th bit, then data */
/* from buffer */
status = UCSR0A;
resh = UCSR0B;
resl = UDRn;
/* If error, return -1 */
if
( status & (1<<FE0)|(1<<DOR0)|(1<<UPE0) )
return
-1;
/* Filter the 9th bit, then return */
resh = (resh >> 1) & 0x01;
return
((resh << 8) | resl);
}



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