Input Capture management functions.
More...
Input Capture management functions.
===============================================================================
##### Input Capture management functions #####
===============================================================================
*** TIM Driver: how to use it in Input Capture Mode ***
===============================================================================
[..] To use the Timer in Input Capture mode, the following steps are mandatory:
(#) Enable TIM clock using RCC_APBxPeriphClockCmd(RCC_APBxPeriph_TIMx, ENABLE)
function.
(#) Configure the TIM pins by configuring the corresponding GPIO pins.
(#) Configure the Time base unit as described in the first part of this
driver, if needed, else the Timer will run with the default configuration:
(++) Autoreload value = 0xFFFF.
(++) Prescaler value = 0x0000.
(++) Counter mode = Up counting.
(++) Clock Division = TIM_CKD_DIV1.
(#) Fill the TIM_ICInitStruct with the desired parameters including:
(++) TIM Channel: TIM_Channel.
(++) TIM Input Capture polarity: TIM_ICPolarity.
(++) TIM Input Capture selection: TIM_ICSelection.
(++) TIM Input Capture Prescaler: TIM_ICPrescaler.
(++) TIM Input CApture filter value: TIM_ICFilter.
(#) Call TIM_ICInit(TIMx, &TIM_ICInitStruct) to configure the desired
channel with the corresponding configuration and to measure only
frequency or duty cycle of the input signal,or, Call
TIM_PWMIConfig(TIMx, &TIM_ICInitStruct) to configure the desired
channels with the corresponding configuration and to measure the
frequency and the duty cycle of the input signal.
(#) Enable the NVIC or the DMA to read the measured frequency.
(#) Enable the corresponding interrupt (or DMA request) to read
the Captured value, using the function TIM_ITConfig(TIMx, TIM_IT_CCx)
(or TIM_DMA_Cmd(TIMx, TIM_DMA_CCx)).
(#) Call the TIM_Cmd(ENABLE) function to enable the TIM counter.
(#) Use TIM_GetCapturex(TIMx); to read the captured value.
[..]
(@) All other functions can be used separately to modify, if needed,
a specific feature of the Timer.
uint32_t TIM_GetCapture1 |
( |
TIM_TypeDef * |
TIMx | ) |
|
Gets the TIMx Input Capture 1 value.
- Parameters
-
TIMx,: | where x can be 2, 3, 4, 5, 12, 13, 14, 15, 16, 17 and 19 to select the TIM peripheral. |
- Return values
-
Capture | Compare 1 Register value. |
uint32_t TIM_GetCapture2 |
( |
TIM_TypeDef * |
TIMx | ) |
|
Gets the TIMx Input Capture 2 value.
- Parameters
-
TIMx,: | where x can be 2, 3, 4, 5, 12, 15 and 19 to select the TIM peripheral. |
- Return values
-
Capture | Compare 2 Register value. |
uint32_t TIM_GetCapture3 |
( |
TIM_TypeDef * |
TIMx | ) |
|
Gets the TIMx Input Capture 3 value.
- Parameters
-
TIMx,: | where x can be 2, 3, 4, 5 and 19 to select the TIM peripheral. |
- Return values
-
Capture | Compare 3 Register value. |
uint32_t TIM_GetCapture4 |
( |
TIM_TypeDef * |
TIMx | ) |
|
Gets the TIMx Input Capture 4 value.
- Parameters
-
TIMx,: | where x can be 2, 3, 4, 5 and 19 to select the TIM peripheral. |
- Return values
-
Capture | Compare 4 Register value. |
Initializes the TIM peripheral according to the specified parameters in the TIM_ICInitStruct.
- Parameters
-
TIMx,: | where x can be 2, 3, 4, 5, 15 and 19 to select the TIM peripheral. |
TIM_ICInitStruct,: | pointer to a TIM_ICInitTypeDef structure that contains the configuration information for the specified TIM peripheral. |
- Return values
-
Fills each TIM_ICInitStruct member with its default value.
- Parameters
-
TIM_ICInitStruct,: | pointer to a TIM_ICInitTypeDef structure which will be initialized. |
- Return values
-
Configures the TIM peripheral according to the specified parameters in the TIM_ICInitStruct to measure an external PWM signal.
- Parameters
-
TIMx,: | where x can be 2, 3, 4, 5, 12, 15 and 19 to select the TIM peripheral. |
TIM_ICInitStruct,: | pointer to a TIM_ICInitTypeDef structure that contains the configuration information for the specified TIM peripheral. |
- Return values
-
void TIM_SetIC1Prescaler |
( |
TIM_TypeDef * |
TIMx, |
|
|
uint16_t |
TIM_ICPSC |
|
) |
| |
Sets the TIMx Input Capture 1 prescaler.
- Parameters
-
TIMx,: | where x can be 2, 3, 4, 5, 12, 13, 14, 15, 16, 17 and 19 to select the TIM peripheral. |
TIM_ICPSC,: | specifies the Input Capture1 prescaler new value. This parameter can be one of the following values:
- TIM_ICPSC_DIV1: no prescaler
- TIM_ICPSC_DIV2: capture is done once every 2 events
- TIM_ICPSC_DIV4: capture is done once every 4 events
- TIM_ICPSC_DIV8: capture is done once every 8 events
|
- Return values
-
void TIM_SetIC2Prescaler |
( |
TIM_TypeDef * |
TIMx, |
|
|
uint16_t |
TIM_ICPSC |
|
) |
| |
Sets the TIMx Input Capture 2 prescaler.
- Parameters
-
TIMx,: | where x can be 2, 3, 4, 5, 12, 15 and 19 to select the TIM peripheral. |
TIM_ICPSC,: | specifies the Input Capture2 prescaler new value. This parameter can be one of the following values:
- TIM_ICPSC_DIV1: no prescaler
- TIM_ICPSC_DIV2: capture is done once every 2 events
- TIM_ICPSC_DIV4: capture is done once every 4 events
- TIM_ICPSC_DIV8: capture is done once every 8 events
|
- Return values
-
void TIM_SetIC3Prescaler |
( |
TIM_TypeDef * |
TIMx, |
|
|
uint16_t |
TIM_ICPSC |
|
) |
| |
Sets the TIMx Input Capture 3 prescaler.
- Parameters
-
TIMx,: | where x can be 2, 3, 4, 5 and 19 to select the TIM peripheral. |
TIM_ICPSC,: | specifies the Input Capture3 prescaler new value. This parameter can be one of the following values:
- TIM_ICPSC_DIV1: no prescaler
- TIM_ICPSC_DIV2: capture is done once every 2 events
- TIM_ICPSC_DIV4: capture is done once every 4 events
- TIM_ICPSC_DIV8: capture is done once every 8 events
|
- Return values
-
void TIM_SetIC4Prescaler |
( |
TIM_TypeDef * |
TIMx, |
|
|
uint16_t |
TIM_ICPSC |
|
) |
| |
Sets the TIMx Input Capture 4 prescaler.
- Parameters
-
TIMx,: | where x can be 2, 3, 4, 5 and 19 to select the TIM peripheral. |
TIM_ICPSC,: | specifies the Input Capture4 prescaler new value. This parameter can be one of the following values:
- TIM_ICPSC_DIV1: no prescaler
- TIM_ICPSC_DIV2: capture is done once every 2 events
- TIM_ICPSC_DIV4: capture is done once every 4 events
- TIM_ICPSC_DIV8: capture is done once every 8 events
|
- Return values
-