
RM0008
Figure 140. Gating timer 2 with OC1REF of timer 1
CK_INT
TIMER1-OC1REF
General-purpose timer (TIMx)
TIMER1-CNT
TIMER2-CNT
3045
FC
FD
3046
FE
3047
FF
00
3048
01
TIMER 2-TIF
Write TIF=0
In the example in Figure 140 , the Timer 2 counter and prescaler are not initialized before
being started. So they start counting from their current value. It is possible to start from a
given value by resetting both timers before starting Timer 1. You can then write any value
you want in the timer counters. The timers can easily be reset by software using the UG bit
in the TIMx_EGR registers.
In the next example, we synchronize Timer 1 and Timer 2. Timer 1 is the master and starts
from 0. Timer 2 is the slave and starts from 0xE7. The prescaler ratio is the same for both
timers. Timer 2 stops when Timer 1 is disabled by writing ‘0’ to the CEN bit in the TIM1_CR1
register:
●
●
●
●
●
●
●
●
●
●
Configure Timer 1 master mode to send its Output Compare 1 Reference (OC1REF)
signal as trigger output (MMS=100 in the TIM1_CR2 register).
Configure the Timer 1 OC1REF waveform (TIM1_CCMR1 register).
Configure Timer 2 to get the input trigger from Timer 1 (TS=000 in the TIM2_SMCR
register).
Configure Timer 2 in gated mode (SMS=101 in TIM2_SMCR register).
Reset Timer 1 by writing ‘1’ in UG bit (TIM1_EGR register).
Reset Timer 2 by writing ‘1’ in UG bit (TIM2_EGR register).
Initialize Timer 2 to 0xE7 by writing ‘0xE7’ in the timer 2 counter (TIM2_CNTL).
Enable Timer 2 by writing ‘1’ in the CEN bit (TIM2_CR1 register).
Start Timer 1 by writing ‘1’ in the CEN bit (TIM1_CR1 register).
Stop Timer 1 by writing ‘0’ in the CEN bit (TIM1_CR1 register).
Doc ID 13902 Rev 9
351/995