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

ATMEGA8L-8MUR 参数 Datasheet PDF下载

ATMEGA8L-8MUR图片预览
型号: ATMEGA8L-8MUR
PDF下载: 下载PDF文件 查看货源
内容描述: 8位爱特梅尔带有8K字节的系统内可编程闪存 [8-bit Atmel with 8KBytes In-System PRogrammable Flash]
分类和应用: 闪存微控制器和处理器外围集成电路异步传输模式PCATM时钟
文件页数/大小: 331 页 / 6705 K
品牌: ATMEL [ ATMEL ]
 浏览型号ATMEGA8L-8MUR的Datasheet PDF文件第136页浏览型号ATMEGA8L-8MUR的Datasheet PDF文件第137页浏览型号ATMEGA8L-8MUR的Datasheet PDF文件第138页浏览型号ATMEGA8L-8MUR的Datasheet PDF文件第139页浏览型号ATMEGA8L-8MUR的Datasheet PDF文件第141页浏览型号ATMEGA8L-8MUR的Datasheet PDF文件第142页浏览型号ATMEGA8L-8MUR的Datasheet PDF文件第143页浏览型号ATMEGA8L-8MUR的Datasheet PDF文件第144页  
ATmega8(L)  
The following code example shows a simple USART receive function that handles both 9-bit  
characters and the status bits.  
Assembly Code Example(1)  
USART_Receive:  
; Wait for data to be received  
sbis UCSRA, RXC  
rjmp USART_Receive  
; Get status and ninth bit, then data from buffer  
in  
in  
in  
r18, UCSRA  
r17, UCSRB  
r16, UDR  
; If error, return -1  
andi r18,(1<<FE)|(1<<DOR)|(1<<PE)  
breq USART_ReceiveNoError  
ldi r17, HIGH(-1)  
ldi 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 ( !(UCSRA & (1<<RXC)) )  
;
/* Get status and ninth bit, then data */  
/* from buffer */  
status = UCSRA;  
resh = UCSRB;  
resl = UDR;  
/* If error, return -1 */  
if ( status & (1<<FE)|(1<<DOR)|(1<<PE) )  
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.  
140  
2486AA–AVR–02/2013  
 复制成功!