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

ATMEGA16U2-MUR 参数 Datasheet PDF下载

ATMEGA16U2-MUR图片预览
型号: ATMEGA16U2-MUR
PDF下载: 下载PDF文件 查看货源
内容描述: 8位微控制器具有ISP功能的Flash 8/16 / 32K Butes [8-bit Microcontroller with 8/16/32K Butes of ISP Flash]
分类和应用: 微控制器异步传输模式PCATM
文件页数/大小: 310 页 / 4432 K
品牌: ATMEL [ ATMEL ]
 浏览型号ATMEGA16U2-MUR的Datasheet PDF文件第155页浏览型号ATMEGA16U2-MUR的Datasheet PDF文件第156页浏览型号ATMEGA16U2-MUR的Datasheet PDF文件第157页浏览型号ATMEGA16U2-MUR的Datasheet PDF文件第158页浏览型号ATMEGA16U2-MUR的Datasheet PDF文件第160页浏览型号ATMEGA16U2-MUR的Datasheet PDF文件第161页浏览型号ATMEGA16U2-MUR的Datasheet PDF文件第162页浏览型号ATMEGA16U2-MUR的Datasheet PDF文件第163页  
ATmega8U2/16U2/32U2  
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 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 ( !(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 “Code Examples” on page 6.  
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.  
159  
7799D–AVR–11/10  
 复制成功!