ata6616 ATMEL Corporation, ata6616 Datasheet - Page 138

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.2
138
ATA6616/ATA6617 [Preliminary]
Reusing the Temporary High Byte Register
The following code examples show how to do an atomic write of the TCNT1 Register contents.
Writing any of the OCR1A/B or ICR1 Registers can be done by using the same principle.
The assembly code example requires that the r17:r16 register pair contains the value to be writ-
ten to TCNT1.
If writing to more than one 16-bit register where the high byte is the same for all registers written,
then the high byte only needs to be written once. However, note that the same rule of atomic
operation described previously also applies in this case.
Assembly Code Example
C Code Example
Note:
TIM16_WriteTCNT1:
void TIM16_WriteTCNT1(unsigned int i)
{
}
; Save global interrupt flag
in
; Disable interrupts
cli
; Set TCNT1 to r17:r16
sts
sts
; Restore global interrupt flag
out
ret
unsigned char sreg;
unsigned int i;
/* Save global interrupt flag */
sreg = SREG;
/* Disable interrupts */
_CLI();
/* Set TCNT1 to i */
TCNT1 = i;
/* Restore global interrupt flag */
SREG = sreg;
1. The example code assumes that the part specific header file is included1
r18,SREG
TCNT1H,r17
TCNT1L,r16
SREG,r18
(1)
(1)
DRAFT
9132A–AUTO–10/08

Related parts for ata6616