English
Language : 

ATTINY24 Datasheet, PDF (108/238 Pages) ATMEL Corporation – 8-bit AVR Microcontroller with 2/4/8K Bytes In-System Programmable Flash
C Code Example
void TIM16_WriteTCNT1( unsigned int i )
{
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;
}
Note: See “Code Examples” on page 6.
The assembly code example requires that the r17:r16 register pair contains the value to be writ-
ten to TCNT1.
12.10.1
Reusing the Temporary High Byte Register
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.
12.11 Register Description
12.11.1 TCCR1A – Timer/Counter1 Control Register A
Bit
7
6
5
4
3
0x2F (0x4F)
COM1A1 COM1A0 COM1B1 COM1B0
–
Read/Write
R/W
R/W
R/W
R/W
R
Initial Value
0
0
0
0
0
2
1
0
–
WGM11 WGM10 TCCR1A
R
R/W
R/W
0
0
0
• Bits 7:6 – COM1A1, COM1A0: Compare Output Mode for Channel A
• Bits 5:4 – COM1B1, COM1B0: Compare Output Mode for Channel B
The COM1A1:0 and COM1B1:0 control the Output Compare pins (OC1A and OC1B respec-
tively) behavior. If one or both of the COM1A1:0 bits are written to one, the OC1A output
overrides the normal port functionality of the I/O pin it is connected to. If one or both of the
COM1B1:0 bit are written to one, the OC1B output overrides the normal port functionality of the
I/O pin it is connected to. However, note that the Data Direction Register (DDR) bit correspond-
ing to the OC1A or OC1B pin must be set in order to enable the output driver.
When the OC1A or OC1B is connected to the pin, the function of the COM1x1:0 bits is depen-
dent of the WGM13:0 bits setting. Table 12-2 on page 109 shows the COM1x1:0 bit functionality
when the WGM13:0 bits are set to a Normal or a CTC mode (non-PWM).
108 ATtiny24/44/84
8006J–AVR–08/10