09.12.2012 Views

RM0090: Reference manual - STMicroelectronics

RM0090: Reference manual - STMicroelectronics

RM0090: Reference manual - STMicroelectronics

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

General-purpose timers (TIM2 to TIM5) <strong>RM0090</strong><br />

Using one timer as prescaler for another timer<br />

For example, you can configure Timer 1 to act as a prescaler for Timer 2. Refer to<br />

Figure 159 for connections. To do this:<br />

● Configure Timer 1 master mode to send its Update Event (UEV) as trigger output<br />

(MMS=010 in the TIM1_CR2 register). then it outputs a periodic signal on each counter<br />

overflow.<br />

● Configure the Timer 1 period (TIM1_ARR registers).<br />

● Configure Timer 2 to get the input trigger from Timer 1 (TS=000 in the TIM2_SMCR<br />

register).<br />

● Configure Timer 2 in external clock mode 1 (SMS=111 in TIM2_SMCR register).<br />

● Start Timer 2 by writing ‘1 in the CEN bit (TIM2_CR1 register).<br />

● Start Timer 1 by writing ‘1 in the CEN bit (TIM1_CR1 register).<br />

Starting 2 timers synchronously in response to an external trigger<br />

In this example, we set the enable of timer 1 when its TI1 input rises, and the enable of<br />

Timer 2 with the enable of Timer 1. Refer to Figure 159 for connections. To ensure the<br />

counters are aligned, Timer 1 must be configured in Master/Slave mode (slave with respect<br />

to TI1, master with respect to Timer 2):<br />

● Configure Timer 1 master mode to send its Enable as trigger output (MMS=001 in the<br />

TIM1_CR2 register).<br />

● Configure Timer 1 slave mode to get the input trigger from TI1 (TS=100 in the<br />

TIM1_SMCR register).<br />

● Configure Timer 1 in trigger mode (SMS=110 in the TIM1_SMCR register).<br />

● Configure the Timer 1 in Master/Slave mode by writing MSM=1 (TIM1_SMCR register).<br />

● Configure Timer 2 to get the input trigger from Timer 1 (TS=000 in the TIM2_SMCR<br />

register).<br />

● Configure Timer 2 in trigger mode (SMS=110 in the TIM2_SMCR register).<br />

When a rising edge occurs on TI1 (Timer 1), both counters starts counting synchronously on<br />

the internal clock and both TIF flags are set.<br />

Note: In this example both timers are initialized before starting (by setting their respective UG<br />

bits). Both counters starts from 0, but you can easily insert an offset between them by<br />

writing any of the counter registers (TIMx_CNT). You can see that the master/slave mode<br />

insert a delay between CNT_EN and CK_PSC on timer 1.<br />

453/1416 Doc ID 018909 Rev 3

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!