欢迎访问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文件第111页浏览型号ATMEGA64A-AU的Datasheet PDF文件第112页浏览型号ATMEGA64A-AU的Datasheet PDF文件第113页浏览型号ATMEGA64A-AU的Datasheet PDF文件第114页浏览型号ATMEGA64A-AU的Datasheet PDF文件第116页浏览型号ATMEGA64A-AU的Datasheet PDF文件第117页浏览型号ATMEGA64A-AU的Datasheet PDF文件第118页浏览型号ATMEGA64A-AU的Datasheet PDF文件第119页  
ATmega64A  
It is important to notice that accessing 16-bit registers are atomic operations. If an interrupt  
occurs between the two instructions accessing the 16-bit register, and the interrupt code  
updates the temporary register by accessing the same or any other of the 16-bit timer registers,  
then the result of the access outside the interrupt will be corrupted. Therefore, when both the  
main code and the interrupt code update the temporary register, the main code must disable the  
interrupts during the 16-bit access.  
The following code examples show how to do an atomic read of the TCNTn Register contents.  
Reading any of the OCRnA/B/C or ICRn Registers can be done by using the same principle.  
Assembly Code Example(1)  
TIM16_ReadTCNTn:  
; Save global interrupt flag  
in r18,SREG  
; Disable interrupts  
cli  
; Read TCNTn into r17:r16  
in r16,TCNTnL  
in r17,TCNTnH  
; Restore global interrupt flag  
out SREG,r18  
ret  
C Code Example(1)  
unsigned int TIM16_ReadTCNTn( void )  
{
unsigned char sreg;  
unsigned int i;  
/* Save global interrupt flag */  
sreg = SREG;  
/* Disable interrupts */  
_CLI();  
/* Read TCNTn into i */  
i = TCNTn;  
/* Restore global interrupt flag */  
SREG = sreg;  
return i;  
}
Note:  
1. See “About Code Examples” on page 8.  
The assembly code example returns the TCNTn value in the r17:r16 register pair.  
115  
8160C–AVR–07/09  
 复制成功!