attiny167-esxz ATMEL Corporation, attiny167-esxz Datasheet - Page 108

no-image

attiny167-esxz

Manufacturer Part Number
attiny167-esxz
Description
8-bit Avr 8-bit Microcontroller Microcontroller With 16k Bytes In-system Programmable Flash And Lin Controller
Manufacturer
ATMEL Corporation
Datasheet
108
ATtiny167
The following code examples show how to do an atomic read of the TCNT1 Register contents.
Reading any of the OCR1A/B or ICR1 Registers can be done by using the same principle.
Note:
The assembly code example returns the TCNT1 value in the r17:r16 register pair.
Assembly Code Example
C Code Example
TIM16_ReadTCNT1:
unsigned int TIM16_ReadTCNT1(void)
{
}
; Save global interrupt flag
in
; Disable interrupts
cli
; Read TCNT1 into r17:r16
lds
lds
; Restore global interrupt flag
out
ret
unsigned char sreg;
unsigned int i;
/* Save global interrupt flag */
sreg = SREG;
/* Disable interrupts */
_CLI();
/* Read TCNT1 into i */
i = TCNT1;
/* Restore global interrupt flag */
SREG = sreg;
return i;
1. The example code assumes that the part specific header file is included.
r18,SREG
r16,TCNT1L
r17,TCNT1H
SREG,r18
(1)
(1)
7728A–AUTO–07/08

Related parts for attiny167-esxz