ata6616 ATMEL Corporation, ata6616 Datasheet - Page 136

no-image

ata6616

Manufacturer Part Number
ata6616
Description
Microcontroller With Lin Transceiver, 5v Regulator And Watchdog
Manufacturer
ATMEL Corporation
Datasheet

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
ata6616-P3QW
Manufacturer:
ATMEL
Quantity:
950
Part Number:
ata6616-P3QW
Manufacturer:
ATMEL/爱特梅尔
Quantity:
20 000
Part Number:
ata6616C
Manufacturer:
ATMEL/爱特梅尔
Quantity:
20 000
Part Number:
ata6616C-P3QW
Manufacturer:
ATMEL
Quantity:
887
4.13.3
4.13.3.1
136
ATA6616/ATA6617 [Preliminary]
Accessing 16-bit Registers
Code Examples
The TCNT1, OCR1A/B, and ICR1 are 16-bit registers that can be accessed by the AVR CPU via
the 8-bit data bus. The 16-bit register must be byte accessed using two read or write operations.
Each 16-bit timer has a single 8-bit register for temporary storing of the high byte of the 16-bit
access. The same temporary register is shared between all 16-bit registers within each 16-bit
timer. Accessing the low byte triggers the 16-bit read or write operation. When the low byte of a
16-bit register is written by the CPU, the high byte stored in the temporary register, and the low
byte written are both copied into the 16-bit register in the same clock cycle. When the low byte of
a 16-bit register is read by the CPU, the high byte of the 16-bit register is copied into the tempo-
rary register in the same clock cycle as the low byte is read.
Not all 16-bit accesses uses the temporary register for the high byte. Reading the OCR1A/B
16-bit registers does not involve using the temporary register.
To do a 16-bit write, the high byte must be written before the low byte. For a 16-bit read, the low
byte must be read before the high byte.
The following code examples show how to access the 16-bit timer registers assuming that no
interrupts updates the temporary register. The same principle can be used directly for accessing
the OCR1A/B and ICR1 Registers. Note that when using “C”, the compiler handles the 16-bit
access.
Assembly Code Examples
C Code Examples
Note:
...
; Set TCNT
ldi
ldi
sts
sts
; Read TCNT
lds
lds
...
unsigned int i;
...
/* Set TCNT
TCNT
/* Read TCNT
i = TCNT
...
The example code assumes that the part specific header file is included
1
= 0x1FF;
r17,0x01
r16,0xFF
TCNT
TCNT
r16,TCNT
r17,TCNT
1
;
1
(1)
1
1
1
1
H,r17
L,r16
to 0x01FF
1
into r17:r16
to 0x01FF */
into i */
1
1
L
H
(1)
DRAFT
9132A–AUTO–10/08

Related parts for ata6616