STM32F4 Standard Peripheral bibliotheek  1.0
ST Microelectronics bibliotheek documentatie voor de STM32F4 Standard Peripheral Library
 All Data Structures Files Functions Variables Enumerations Enumerator Groups
Input Capture management functions

Input Capture management functions. More...

Functions

void TIM_ICInit (TIM_TypeDef *TIMx, TIM_ICInitTypeDef *TIM_ICInitStruct)
 Initializes the TIM peripheral according to the specified parameters in the TIM_ICInitStruct. More...
 
void TIM_ICStructInit (TIM_ICInitTypeDef *TIM_ICInitStruct)
 Fills each TIM_ICInitStruct member with its default value. More...
 
void TIM_PWMIConfig (TIM_TypeDef *TIMx, TIM_ICInitTypeDef *TIM_ICInitStruct)
 Configures the TIM peripheral according to the specified parameters in the TIM_ICInitStruct to measure an external PWM signal. More...
 
uint32_t TIM_GetCapture1 (TIM_TypeDef *TIMx)
 Gets the TIMx Input Capture 1 value. More...
 
uint32_t TIM_GetCapture2 (TIM_TypeDef *TIMx)
 Gets the TIMx Input Capture 2 value. More...
 
uint32_t TIM_GetCapture3 (TIM_TypeDef *TIMx)
 Gets the TIMx Input Capture 3 value. More...
 
uint32_t TIM_GetCapture4 (TIM_TypeDef *TIMx)
 Gets the TIMx Input Capture 4 value. More...
 
void TIM_SetIC1Prescaler (TIM_TypeDef *TIMx, uint16_t TIM_ICPSC)
 Sets the TIMx Input Capture 1 prescaler. More...
 
void TIM_SetIC2Prescaler (TIM_TypeDef *TIMx, uint16_t TIM_ICPSC)
 Sets the TIMx Input Capture 2 prescaler. More...
 
void TIM_SetIC3Prescaler (TIM_TypeDef *TIMx, uint16_t TIM_ICPSC)
 Sets the TIMx Input Capture 3 prescaler. More...
 
void TIM_SetIC4Prescaler (TIM_TypeDef *TIMx, uint16_t TIM_ICPSC)
 Sets the TIMx Input Capture 4 prescaler. More...
 

Detailed Description

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:
       
       1. Enable TIM clock using RCC_APBxPeriphClockCmd(RCC_APBxPeriph_TIMx, ENABLE) function
       
       2. Configure the TIM pins by configuring the corresponding GPIO pins
       
       2. 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
          
       3. 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
       
       4. 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
          
       5. Enable the NVIC or the DMA to read the measured frequency. 
          
       6. 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)) 
       
       7. Call the TIM_Cmd(ENABLE) function to enable the TIM counter.
       
       8. Use TIM_GetCapturex(TIMx); to read the captured value.
       
       Note1: All other functions can be used separately to modify, if needed,
              a specific feature of the Timer. 

Function Documentation

uint32_t TIM_GetCapture1 ( TIM_TypeDef *  TIMx)

Gets the TIMx Input Capture 1 value.

Parameters
TIMx,:where x can be 1 to 14 except 6 and 7, to select the TIM peripheral.
Return values
CaptureCompare 1 Register value.
uint32_t TIM_GetCapture2 ( TIM_TypeDef *  TIMx)

Gets the TIMx Input Capture 2 value.

Parameters
TIMx,:where x can be 1, 2, 3, 4, 5, 8, 9 or 12 to select the TIM peripheral.
Return values
CaptureCompare 2 Register value.
uint32_t TIM_GetCapture3 ( TIM_TypeDef *  TIMx)

Gets the TIMx Input Capture 3 value.

Parameters
TIMx,:where x can be 1, 2, 3, 4, 5 or 8 to select the TIM peripheral.
Return values
CaptureCompare 3 Register value.
uint32_t TIM_GetCapture4 ( TIM_TypeDef *  TIMx)

Gets the TIMx Input Capture 4 value.

Parameters
TIMx,:where x can be 1, 2, 3, 4, 5 or 8 to select the TIM peripheral.
Return values
CaptureCompare 4 Register value.
void TIM_ICInit ( TIM_TypeDef *  TIMx,
TIM_ICInitTypeDef TIM_ICInitStruct 
)

Initializes the TIM peripheral according to the specified parameters in the TIM_ICInitStruct.

Parameters
TIMx,:where x can be 1 to 14 except 6 and 7, 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
None
void TIM_ICStructInit ( TIM_ICInitTypeDef TIM_ICInitStruct)

Fills each TIM_ICInitStruct member with its default value.

Parameters
TIM_ICInitStruct,:pointer to a TIM_ICInitTypeDef structure which will be initialized.
Return values
None
void TIM_PWMIConfig ( TIM_TypeDef *  TIMx,
TIM_ICInitTypeDef TIM_ICInitStruct 
)

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 1, 2, 3, 4, 5,8, 9 or 12 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
None
void TIM_SetIC1Prescaler ( TIM_TypeDef *  TIMx,
uint16_t  TIM_ICPSC 
)

Sets the TIMx Input Capture 1 prescaler.

Parameters
TIMx,:where x can be 1 to 14 except 6 and 7, 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
None
void TIM_SetIC2Prescaler ( TIM_TypeDef *  TIMx,
uint16_t  TIM_ICPSC 
)

Sets the TIMx Input Capture 2 prescaler.

Parameters
TIMx,:where x can be 1, 2, 3, 4, 5, 8, 9 or 12 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
None
void TIM_SetIC3Prescaler ( TIM_TypeDef *  TIMx,
uint16_t  TIM_ICPSC 
)

Sets the TIMx Input Capture 3 prescaler.

Parameters
TIMx,:where x can be 1, 2, 3, 4, 5 or 8 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
None
void TIM_SetIC4Prescaler ( TIM_TypeDef *  TIMx,
uint16_t  TIM_ICPSC 
)

Sets the TIMx Input Capture 4 prescaler.

Parameters
TIMx,:where x can be 1, 2, 3, 4, 5 or 8 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
None