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

ATMEGA64A-AU 参数 Datasheet PDF下载

ATMEGA64A-AU图片预览
型号: ATMEGA64A-AU
PDF下载: 下载PDF文件 查看货源
内容描述: 8位微控制器,带有64K字节的系统内可编程闪存 [8-bit Microcontroller with 64K Bytes In-System Programmable Flash]
分类和应用: 闪存微控制器
文件页数/大小: 392 页 / 7964 K
品牌: ATMEL [ ATMEL ]
 浏览型号ATMEGA64A-AU的Datasheet PDF文件第181页浏览型号ATMEGA64A-AU的Datasheet PDF文件第182页浏览型号ATMEGA64A-AU的Datasheet PDF文件第183页浏览型号ATMEGA64A-AU的Datasheet PDF文件第184页浏览型号ATMEGA64A-AU的Datasheet PDF文件第186页浏览型号ATMEGA64A-AU的Datasheet PDF文件第187页浏览型号ATMEGA64A-AU的Datasheet PDF文件第188页浏览型号ATMEGA64A-AU的Datasheet PDF文件第189页  
ATmega64A  
Assembly Code Example(1)  
USART_Receive:  
; Wait for data to be received  
sbis UCSRnA, RXCn  
rjmp USART_Receive  
; Get status and ninth 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 ninth 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 ninth 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 ninth 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 com-  
putation 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.  
185  
8160C–AVR–07/09  
 复制成功!