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

90USB1287-16AU 参数 Datasheet PDF下载

90USB1287-16AU图片预览
型号: 90USB1287-16AU
PDF下载: 下载PDF文件 查看货源
内容描述: 单片机具有ISP功能的Flash和USB控制器64 / 128K字节 [Microcontroller with 64/128K Bytes of ISP Flash and USB Controller]
分类和应用: 微控制器
文件页数/大小: 434 页 / 3172 K
品牌: ATMEL [ ATMEL ]
 浏览型号90USB1287-16AU的Datasheet PDF文件第189页浏览型号90USB1287-16AU的Datasheet PDF文件第190页浏览型号90USB1287-16AU的Datasheet PDF文件第191页浏览型号90USB1287-16AU的Datasheet PDF文件第192页浏览型号90USB1287-16AU的Datasheet PDF文件第194页浏览型号90USB1287-16AU的Datasheet PDF文件第195页浏览型号90USB1287-16AU的Datasheet PDF文件第196页浏览型号90USB1287-16AU的Datasheet PDF文件第197页  
AT90USB64/128  
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 “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.  
18.6.3  
Receive Compete Flag and Interrupt  
The USART Receiver has one flag that indicates the Receiver state.  
193  
7593A–AVR–02/06  
 复制成功!