Advance Information MC68HC908MR16/MC68HC908MR32 — Rev. 4.0
206 Timer Interface A (TIMA) MOTOROLA
Timer Interface A (TIMA)
11.4.3 Output Compare
With the output compare function, the TIMA can generate a periodic
pulse with a programmable polarity, duration, an d fre quency. When th e
counter reaches the value in the registers of an output compare channel,
the TIMA can set, clear, or toggle the chan nel pin. Ou tput compares can
generate TIMA CPU interrupt requests.
11.4.3.1 Unbuffered Output Compare
Any output compare channel can generate unbuffered output compare
pulses as described in 11.4.3 Output Compare. The pulses are
unbuffered because changing the output comp are value requir es writing
the new value over the old value currently in the TIMA channel registers.
An unsynchronized write to the TIMA channel registers to change an
output compare value could cause incorrect operation for up to two
counter overflow periods. For example, writing a new value before the
counter reaches the old value but after the counter reaches the new
value prevents any compare during that counter overflow period. Also,
using a TIMA overflow interrupt routine to write a new, smaller output
compare value may cause the compare to be missed. The TIMA may
pass the new value before it is written.
Use this method to synchronize unbuffered changes in the output
compare value on channel x:
When changing to a smaller value, enable channel x output
compare interrupts and write the new value in the output compa re
interrupt routine. The output compare interrupt occurs at the end
of the current output compare pulse. The interrupt routi ne has until
the end of the counter overflow period to write the new value.
When changing to a larger output compare value, enable
channel x TIMA overflow interrupts and write the new value in the
TIMA overflow interrupt routine. The TIMA overflow interrupt
occurs at the end of the current counter overfl ow period . Writing a
larger value in an output compare interrupt routine (at the end of
the current pulse) could cause two output compa res to occur in the
same counter overflow period.