Advanced-control timers (TIM1&TIM8)
For example, you can measure the period (in TIMx_CCR1 register) and the duty cycle (in
TIMx_CCR2 register) of the PWM applied on TI1 using the following procedure (depending
on CK_INT frequency and prescaler value):
●
Select the active input for TIMx_CCR1: write the CC1S bits to 01 in the TIMx_CCMR1
register (TI1 selected).
●
Select the active polarity for TI1FP1 (used both for capture in TIMx_CCR1 and counter
clear): write the CC1P and CC1NP bits to '0' (active on rising edge).
●
Select the active input for TIMx_CCR2: write the CC2S bits to 10 in the TIMx_CCMR1
register (TI1 selected).
●
Select the active polarity for TI1FP2 (used for capture in TIMx_CCR2): write the CC2P
and CC2NP bits to '1' (active on falling edge).
●
Select the valid trigger input: write the TS bits to 101 in the TIMx_SMCR register
(TI1FP1 selected).
●
Configure the slave mode controller in reset mode: write the SMS bits to 100 in the
TIMx_SMCR register.
●
Enable the captures: write the CC1E and CC2E bits to '1' in the TIMx_CCER register.
Figure 101. PWM input mode timing
TIMx_CNT
TIMx_CCR1
TIMx_CCR2
14.3.8
Forced output mode
In output mode (CCxS bits = 00 in the TIMx_CCMRx register), each output compare signal
(OCxREF and then OCx/OCxN) can be forced to active or inactive level directly by software,
independently of any comparison between the output compare register and the counter.
To force an output compare signal (OCXREF/OCx) to its active level, you just need to write
101 in the OCxM bits in the corresponding TIMx_CCMRx register. Thus OCXREF is forced
high (OCxREF is always active high) and OCx get opposite value to CCxP polarity bit.
For example: CCxP=0 (OCx active high) => OCx is forced to high level.
The OCxREF signal can be forced low by writing the OCxM bits to 100 in the TIMx_CCMRx
register.
373/1422
TI1
0004
0000
IC1 capture
IC2 capture
reset counter
Doc ID 018909 Rev 4
0001
0002
0003
0004
0002
0004
0000
IC1 capture
IC2 capture
pulse width
period
measurement
measurement
RM0090
ai15413
Need help?
Do you have a question about the STM32F40 Series and is the answer not in the manual?
Questions and answers