General-purpose timer (TIM2)
26.3.13
One-pulse mode
One-pulse mode (OPM) is a particular case of the previous modes. It allows the counter to
be started in response to a stimulus and to generate a pulse with a programmable length
after a programmable delay.
Starting the counter can be controlled through the slave mode controller. Generating the
waveform can be done in output compare mode or PWM mode. One-pulse mode is selected
by setting the OPM bit in the TIMx_CR1 register. This makes the counter stop automatically
at the next update event UEV.
A pulse can be correctly generated only if the compare value is different from the counter
initial value. Before starting (when the timer is waiting for the trigger), the configuration must
be:
•
CNT<CCRx ≤ ARR (in particular, 0<CCRx),
For example one may want to generate a positive pulse on OC1 with a length of t
after a delay of t
Let's use TI2FP2 as trigger 1:
1.
Select the proper TI2x source (internal or external) with the TI2SEL[3:0] bits in the
TIMx_TISEL register.
2.
Map TI2FP2 on TI2 by writing CC2S=01 in the TIMx_CCMR1 register.
3.
TI2FP2 must detect a rising edge, write CC2P=0 and CC2NP='0' in the TIMx_CCER
register.
4.
Configure TI2FP2 as trigger for the slave mode controller (TRGI) by writing TS=00110
in the TIMx_SMCR register.
5.
TI2FP2 is used to start the counter by writing SMS to '110 in the TIMx_SMCR register
(trigger mode).
860/1461
Figure 223. Example of one-pulse mode.
TI2
OC1REF
OC1
TIM1_ARR
TIM1_CCR1
0
t
DELAY
as soon as a positive edge is detected on the TI2 input pin.
DELAY
RM0453 Rev 1
t
PULSE
RM0453
t
MS31099V1
and
PULSE
Need help?
Do you have a question about the STM32WL5 Series and is the answer not in the manual?
Questions and answers