Simple "hello world" style program for X-NUCLEO-IKS01A1 MEMS Inertial

Dependencies:   BLE_API X_NUCLEO_IDB0XA1 X_NUCLEO_IKS01A1 mbed

Fork of HelloWorld_IKS01A1 by ST

Embed: (wiki syntax)

« Back to documentation index

Input Capture management functions

Input Capture management functions
[TIM_Private_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.
void TIM_ICStructInit (TIM_ICInitTypeDef *TIM_ICInitStruct)
 Fills each TIM_ICInitStruct member with its default value.
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.
uint32_t TIM_GetCapture1 (TIM_TypeDef *TIMx)
 Gets the TIMx Input Capture 1 value.
uint32_t TIM_GetCapture2 (TIM_TypeDef *TIMx)
 Gets the TIMx Input Capture 2 value.
uint32_t TIM_GetCapture3 (TIM_TypeDef *TIMx)
 Gets the TIMx Input Capture 3 value.
uint32_t TIM_GetCapture4 (TIM_TypeDef *TIMx)
 Gets the TIMx Input Capture 4 value.
void TIM_SetIC1Prescaler (TIM_TypeDef *TIMx, uint16_t TIM_ICPSC)
 Sets the TIMx Input Capture 1 prescaler.
void TIM_SetIC2Prescaler (TIM_TypeDef *TIMx, uint16_t TIM_ICPSC)
 Sets the TIMx Input Capture 2 prescaler.
void TIM_SetIC3Prescaler (TIM_TypeDef *TIMx, uint16_t TIM_ICPSC)
 Sets the TIMx Input Capture 3 prescaler.
void TIM_SetIC4Prescaler (TIM_TypeDef *TIMx, uint16_t TIM_ICPSC)
 Sets the TIMx Input Capture 4 prescaler.

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.

Definition at line 2022 of file stm32f4xx_tim.c.

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.

Definition at line 2037 of file stm32f4xx_tim.c.

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.

Definition at line 2051 of file stm32f4xx_tim.c.

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.

Definition at line 2065 of file stm32f4xx_tim.c.

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

Definition at line 1890 of file stm32f4xx_tim.c.

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

Definition at line 1946 of file stm32f4xx_tim.c.

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

Definition at line 1965 of file stm32f4xx_tim.c.

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

Definition at line 2085 of file stm32f4xx_tim.c.

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

Definition at line 2110 of file stm32f4xx_tim.c.

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

Definition at line 2134 of file stm32f4xx_tim.c.

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

Definition at line 2158 of file stm32f4xx_tim.c.