
123
8155C–AVR–02/11
ATmega32A
The setup of the OC2 should be performed before setting the Data Direction Register for the port
pin to output. The easiest way of setting the OC2 value is to use the Force Output Compare
(FOC2) strobe bit in Normal mode. The OC2 Register keeps its value even when changing
between Waveform Generation modes.
Be aware that the COM2[1:0] bits are not double buffered together with the compare value.
Changing the COM2[1:0] bits will take effect immediately.
17.6
Compare Match Output Unit
The Compare Output mode (COM21:0) bits have two functions. The Waveform Generator uses
the COM2[1:0] bits for defining the Output Compare (OC2) state at the next compare match.
Also, the COM2[1:0] bits control the OC2 pin output source. Figure 17-4 shows a simplified
schematic of the logic affected by the COM2[1:0] bit setting. The I/O Registers, I/O bits, and I/O
pins in the figure are shown in bold. Only the parts of the general I/O Port Control Registers
(DDR and PORT) that are affected by the COM2[1:0] bits are shown. When referring to the OC2
state, the reference is for the internal OC2 Register, not the OC2 pin.
Figure 17-4. Compare Match Output Unit, Schematic
The general I/O port function is overridden by the Output Compare (OC2) from the waveform
generator if either of the COM2[1:0] bits are set. However, the OC2 pin direction (input or output)
is still controlled by the Data Direction Register (DDR) for the port pin. The Data Direction Regis-
ter bit for the OC2 pin (DDR_OC2) must be set as output before the OC2 value is visible on the
pin. The port override function is independent of the Waveform Generation mode.
The design of the output compare pin logic allows initialization of the OC2 state before the out-
put is enabled. Note that some COM2[1:0] bit settings are reserved for certain modes of
operation. “Register Description” on page 132
17.6.1
Compare Output Mode and Waveform Generation
The waveform generator uses the COM2[1:0] bits differently in Normal, CTC, and PWM modes.
For all modes, setting the COM2[1:0] = 0 tells the Waveform Generator that no action on the
OC2 Register is to be performed on the next compare match. For compare output actions in the
non-PWM modes refer to Table 17-3 on page 133. For fast PWM mode, refer to Table 17-4 on
page 134, and for phase correct PWM refer to Table 17-5 on page 134.
PORT
DDR
DQ
OCn
Pin
OCn
DQ
Waveform
Generator
COMn1
COMn0
0
1
D
ATA
B
U
S
FOCn
clk
I/O