欢迎访问ic37.com |
会员登录 免费注册
发布采购

ATMEGA2560 参数 Datasheet PDF下载

ATMEGA2560图片预览
型号: ATMEGA2560
PDF下载: 下载PDF文件 查看货源
内容描述: 8位微控制器与256K字节的系统内可编程闪存 [8- BIT Microcontroller with 256K Bytes In-System Programmable Flash]
分类和应用: 闪存微控制器
文件页数/大小: 407 页 / 2985 K
品牌: ATMEL [ ATMEL ]
 浏览型号ATMEGA2560的Datasheet PDF文件第212页浏览型号ATMEGA2560的Datasheet PDF文件第213页浏览型号ATMEGA2560的Datasheet PDF文件第214页浏览型号ATMEGA2560的Datasheet PDF文件第215页浏览型号ATMEGA2560的Datasheet PDF文件第217页浏览型号ATMEGA2560的Datasheet PDF文件第218页浏览型号ATMEGA2560的Datasheet PDF文件第219页浏览型号ATMEGA2560的Datasheet PDF文件第220页  
Assembly Code Example(1)  
USART_Receive:  
; Wait for data to be received  
sbis UCSRnA, RXCn  
rjmp USART_Receive  
; Get status and 9th bit, then data from buffer  
in  
in  
in  
r18, UCSRnA  
r17, UCSRnB  
r16, UDRn  
; If error, return -1  
andi r18,(1<<FEn)|(1<<DORn)|(1<<UPEn)  
breq USART_ReceiveNoError  
ldi  
ldi  
r17, HIGH(-1)  
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 ( !(UCSRnA & (1<<RXCn)) )  
;
/* Get status and 9th bit, then data */  
/* from buffer */  
status = UCSRnA;  
resh = UCSRnB;  
resl = UDRn;  
/* If error, return -1 */  
if ( status & (1<<FEn)|(1<<DORn)|(1<<UPEn) )  
return -1;  
/* Filter the 9th bit, then return */  
resh = (resh >> 1) & 0x01;  
return ((resh << 8) | resl);  
}
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.  
Receive Compete Flag and  
Interrupt  
The USART Receiver has one flag that indicates the Receiver state.  
The Receive Complete (RXCn) Flag indicates if there are unread data present in the  
receive buffer. This flag is one when unread data exist in the receive buffer, and zero  
when the receive buffer is empty (i.e., does not contain any unread data). If the Receiver  
216  
ATmega640/1280/1281/2560/2561  
2549A–AVR–03/05  
 复制成功!