
ST72321xx-Auto 16-bit timer
Doc ID 13829 Rev 1 105/243
13.3.4 Output compare
In this section, the index, i, may be 1 or 2 because there are two output compare functions in
the 16-bit timer.
This function can be used to control an output waveform or indicate when a period of time
has elapsed.
When a match is found between the Output Compare register and the free running counter,
the output compare function:
● Assigns pins with a programmable value if the OCiE bit is set
● Sets a flag in the status register
● Generates an interrupt if enabled
Two 16-bit registers Output Compare Register 1 (OC1R) and Output Compare Register 2
(OC2R) contain the value to be compared to the counter register each timer clock cycle.
These registers are readable and writable and are not affected by the timer hardware. A
reset event changes the OC
iR value to 8000h.
Timing resolution is one count of the free running counter: (f
CPU/CC[1:0]
).
Procedure
To use the output compare function, select the following in the CR2 register:
● Set the OCiE bit if an output is needed then the OCMPi pin is dedicated to the output
compare i signal.
● Select the timer clock (CC[1:0]) (see Table 61: Timer clock selection).
And select the following in the CR1 register:
● Select the OLVLi bit to applied to the OCMPi pins after the match occurs.
● Set the OCIE bit to generate an interrupt if it is needed.
When a match is found between OCRi register and CR register:
● OCFi bit is set.
● The OCMPi pin takes OLVLi bit value (OCMPi pin latch is forced low during reset).
● A timer interrupt is generated if the OCIE bit is set in the CR1 register and the I bit is
cleared in the CC register (CC).
The OC
iR register value required for a specific timing application can be calculated using
the following formula:
Where:
t = Output compare period (in seconds)
f
CPU
= CPU clock frequency (in hertz)
PRESC = Timer prescaler factor (2, 4 or 8 depending on CC[1:0] bits; see Ta bl e 6 1:
Timer clock selection)
MS byte LS byte
OCiROCiHR OCiLR
Comentarios a estos manuales