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
stm32f4xx_tim.c File Reference
This file provides firmware functions to manage the following functionalities of the TIM peripheral:
- TimeBase management
- Output Compare management
- Input Capture management
- Advanced-control timers (TIM1 and TIM8) specific features
- Interrupts, DMA and flags management
- Clocks management
- Synchronization management
- Specific interface management
- Specific remapping management.
Go to the source code of this file.
Functions | |
static void | TI1_Config (TIM_TypeDef *TIMx, uint16_t TIM_ICPolarity, uint16_t TIM_ICSelection, uint16_t TIM_ICFilter) |
Configure the TI1 as Input. | |
static void | TI2_Config (TIM_TypeDef *TIMx, uint16_t TIM_ICPolarity, uint16_t TIM_ICSelection, uint16_t TIM_ICFilter) |
Configure the TI2 as Input. | |
static void | TI3_Config (TIM_TypeDef *TIMx, uint16_t TIM_ICPolarity, uint16_t TIM_ICSelection, uint16_t TIM_ICFilter) |
Configure the TI3 as Input. | |
static void | TI4_Config (TIM_TypeDef *TIMx, uint16_t TIM_ICPolarity, uint16_t TIM_ICSelection, uint16_t TIM_ICFilter) |
Configure the TI4 as Input. | |
void | TIM_DeInit (TIM_TypeDef *TIMx) |
Deinitializes the TIMx peripheral registers to their default reset values. | |
void | TIM_TimeBaseInit (TIM_TypeDef *TIMx, TIM_TimeBaseInitTypeDef *TIM_TimeBaseInitStruct) |
Initializes the TIMx Time Base Unit peripheral according to the specified parameters in the TIM_TimeBaseInitStruct. | |
void | TIM_TimeBaseStructInit (TIM_TimeBaseInitTypeDef *TIM_TimeBaseInitStruct) |
Fills each TIM_TimeBaseInitStruct member with its default value. | |
void | TIM_PrescalerConfig (TIM_TypeDef *TIMx, uint16_t Prescaler, uint16_t TIM_PSCReloadMode) |
Configures the TIMx Prescaler. | |
void | TIM_CounterModeConfig (TIM_TypeDef *TIMx, uint16_t TIM_CounterMode) |
Specifies the TIMx Counter Mode to be used. | |
void | TIM_SetCounter (TIM_TypeDef *TIMx, uint32_t Counter) |
Sets the TIMx Counter Register value. | |
void | TIM_SetAutoreload (TIM_TypeDef *TIMx, uint32_t Autoreload) |
Sets the TIMx Autoreload Register value. | |
uint32_t | TIM_GetCounter (TIM_TypeDef *TIMx) |
Gets the TIMx Counter value. | |
uint16_t | TIM_GetPrescaler (TIM_TypeDef *TIMx) |
Gets the TIMx Prescaler value. | |
void | TIM_UpdateDisableConfig (TIM_TypeDef *TIMx, FunctionalState NewState) |
Enables or Disables the TIMx Update event. | |
void | TIM_UpdateRequestConfig (TIM_TypeDef *TIMx, uint16_t TIM_UpdateSource) |
Configures the TIMx Update Request Interrupt source. | |
void | TIM_ARRPreloadConfig (TIM_TypeDef *TIMx, FunctionalState NewState) |
Enables or disables TIMx peripheral Preload register on ARR. | |
void | TIM_SelectOnePulseMode (TIM_TypeDef *TIMx, uint16_t TIM_OPMode) |
Selects the TIMx's One Pulse Mode. | |
void | TIM_SetClockDivision (TIM_TypeDef *TIMx, uint16_t TIM_CKD) |
Sets the TIMx Clock Division value. | |
void | TIM_Cmd (TIM_TypeDef *TIMx, FunctionalState NewState) |
Enables or disables the specified TIM peripheral. | |
void | TIM_OC1Init (TIM_TypeDef *TIMx, TIM_OCInitTypeDef *TIM_OCInitStruct) |
Initializes the TIMx Channel1 according to the specified parameters in the TIM_OCInitStruct. | |
void | TIM_OC2Init (TIM_TypeDef *TIMx, TIM_OCInitTypeDef *TIM_OCInitStruct) |
Initializes the TIMx Channel2 according to the specified parameters in the TIM_OCInitStruct. | |
void | TIM_OC3Init (TIM_TypeDef *TIMx, TIM_OCInitTypeDef *TIM_OCInitStruct) |
Initializes the TIMx Channel3 according to the specified parameters in the TIM_OCInitStruct. | |
void | TIM_OC4Init (TIM_TypeDef *TIMx, TIM_OCInitTypeDef *TIM_OCInitStruct) |
Initializes the TIMx Channel4 according to the specified parameters in the TIM_OCInitStruct. | |
void | TIM_OCStructInit (TIM_OCInitTypeDef *TIM_OCInitStruct) |
Fills each TIM_OCInitStruct member with its default value. | |
void | TIM_SelectOCxM (TIM_TypeDef *TIMx, uint16_t TIM_Channel, uint16_t TIM_OCMode) |
Selects the TIM Output Compare Mode. | |
void | TIM_SetCompare1 (TIM_TypeDef *TIMx, uint32_t Compare1) |
Sets the TIMx Capture Compare1 Register value. | |
void | TIM_SetCompare2 (TIM_TypeDef *TIMx, uint32_t Compare2) |
Sets the TIMx Capture Compare2 Register value. | |
void | TIM_SetCompare3 (TIM_TypeDef *TIMx, uint32_t Compare3) |
Sets the TIMx Capture Compare3 Register value. | |
void | TIM_SetCompare4 (TIM_TypeDef *TIMx, uint32_t Compare4) |
Sets the TIMx Capture Compare4 Register value. | |
void | TIM_ForcedOC1Config (TIM_TypeDef *TIMx, uint16_t TIM_ForcedAction) |
Forces the TIMx output 1 waveform to active or inactive level. | |
void | TIM_ForcedOC2Config (TIM_TypeDef *TIMx, uint16_t TIM_ForcedAction) |
Forces the TIMx output 2 waveform to active or inactive level. | |
void | TIM_ForcedOC3Config (TIM_TypeDef *TIMx, uint16_t TIM_ForcedAction) |
Forces the TIMx output 3 waveform to active or inactive level. | |
void | TIM_ForcedOC4Config (TIM_TypeDef *TIMx, uint16_t TIM_ForcedAction) |
Forces the TIMx output 4 waveform to active or inactive level. | |
void | TIM_OC1PreloadConfig (TIM_TypeDef *TIMx, uint16_t TIM_OCPreload) |
Enables or disables the TIMx peripheral Preload register on CCR1. | |
void | TIM_OC2PreloadConfig (TIM_TypeDef *TIMx, uint16_t TIM_OCPreload) |
Enables or disables the TIMx peripheral Preload register on CCR2. | |
void | TIM_OC3PreloadConfig (TIM_TypeDef *TIMx, uint16_t TIM_OCPreload) |
Enables or disables the TIMx peripheral Preload register on CCR3. | |
void | TIM_OC4PreloadConfig (TIM_TypeDef *TIMx, uint16_t TIM_OCPreload) |
Enables or disables the TIMx peripheral Preload register on CCR4. | |
void | TIM_OC1FastConfig (TIM_TypeDef *TIMx, uint16_t TIM_OCFast) |
Configures the TIMx Output Compare 1 Fast feature. | |
void | TIM_OC2FastConfig (TIM_TypeDef *TIMx, uint16_t TIM_OCFast) |
Configures the TIMx Output Compare 2 Fast feature. | |
void | TIM_OC3FastConfig (TIM_TypeDef *TIMx, uint16_t TIM_OCFast) |
Configures the TIMx Output Compare 3 Fast feature. | |
void | TIM_OC4FastConfig (TIM_TypeDef *TIMx, uint16_t TIM_OCFast) |
Configures the TIMx Output Compare 4 Fast feature. | |
void | TIM_ClearOC1Ref (TIM_TypeDef *TIMx, uint16_t TIM_OCClear) |
Clears or safeguards the OCREF1 signal on an external event. | |
void | TIM_ClearOC2Ref (TIM_TypeDef *TIMx, uint16_t TIM_OCClear) |
Clears or safeguards the OCREF2 signal on an external event. | |
void | TIM_ClearOC3Ref (TIM_TypeDef *TIMx, uint16_t TIM_OCClear) |
Clears or safeguards the OCREF3 signal on an external event. | |
void | TIM_ClearOC4Ref (TIM_TypeDef *TIMx, uint16_t TIM_OCClear) |
Clears or safeguards the OCREF4 signal on an external event. | |
void | TIM_OC1PolarityConfig (TIM_TypeDef *TIMx, uint16_t TIM_OCPolarity) |
Configures the TIMx channel 1 polarity. | |
void | TIM_OC1NPolarityConfig (TIM_TypeDef *TIMx, uint16_t TIM_OCNPolarity) |
Configures the TIMx Channel 1N polarity. | |
void | TIM_OC2PolarityConfig (TIM_TypeDef *TIMx, uint16_t TIM_OCPolarity) |
Configures the TIMx channel 2 polarity. | |
void | TIM_OC2NPolarityConfig (TIM_TypeDef *TIMx, uint16_t TIM_OCNPolarity) |
Configures the TIMx Channel 2N polarity. | |
void | TIM_OC3PolarityConfig (TIM_TypeDef *TIMx, uint16_t TIM_OCPolarity) |
Configures the TIMx channel 3 polarity. | |
void | TIM_OC3NPolarityConfig (TIM_TypeDef *TIMx, uint16_t TIM_OCNPolarity) |
Configures the TIMx Channel 3N polarity. | |
void | TIM_OC4PolarityConfig (TIM_TypeDef *TIMx, uint16_t TIM_OCPolarity) |
Configures the TIMx channel 4 polarity. | |
void | TIM_CCxCmd (TIM_TypeDef *TIMx, uint16_t TIM_Channel, uint16_t TIM_CCx) |
Enables or disables the TIM Capture Compare Channel x. | |
void | TIM_CCxNCmd (TIM_TypeDef *TIMx, uint16_t TIM_Channel, uint16_t TIM_CCxN) |
Enables or disables the TIM Capture Compare Channel xN. | |
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. | |
void | TIM_BDTRConfig (TIM_TypeDef *TIMx, TIM_BDTRInitTypeDef *TIM_BDTRInitStruct) |
Configures the Break feature, dead time, Lock level, OSSI/OSSR State and the AOE(automatic output enable). | |
void | TIM_BDTRStructInit (TIM_BDTRInitTypeDef *TIM_BDTRInitStruct) |
Fills each TIM_BDTRInitStruct member with its default value. | |
void | TIM_CtrlPWMOutputs (TIM_TypeDef *TIMx, FunctionalState NewState) |
Enables or disables the TIM peripheral Main Outputs. | |
void | TIM_SelectCOM (TIM_TypeDef *TIMx, FunctionalState NewState) |
Selects the TIM peripheral Commutation event. | |
void | TIM_CCPreloadControl (TIM_TypeDef *TIMx, FunctionalState NewState) |
Sets or Resets the TIM peripheral Capture Compare Preload Control bit. | |
void | TIM_ITConfig (TIM_TypeDef *TIMx, uint16_t TIM_IT, FunctionalState NewState) |
Enables or disables the specified TIM interrupts. | |
void | TIM_GenerateEvent (TIM_TypeDef *TIMx, uint16_t TIM_EventSource) |
Configures the TIMx event to be generate by software. | |
FlagStatus | TIM_GetFlagStatus (TIM_TypeDef *TIMx, uint16_t TIM_FLAG) |
Checks whether the specified TIM flag is set or not. | |
void | TIM_ClearFlag (TIM_TypeDef *TIMx, uint16_t TIM_FLAG) |
Clears the TIMx's pending flags. | |
ITStatus | TIM_GetITStatus (TIM_TypeDef *TIMx, uint16_t TIM_IT) |
Checks whether the TIM interrupt has occurred or not. | |
void | TIM_ClearITPendingBit (TIM_TypeDef *TIMx, uint16_t TIM_IT) |
Clears the TIMx's interrupt pending bits. | |
void | TIM_DMAConfig (TIM_TypeDef *TIMx, uint16_t TIM_DMABase, uint16_t TIM_DMABurstLength) |
Configures the TIMx's DMA interface. | |
void | TIM_DMACmd (TIM_TypeDef *TIMx, uint16_t TIM_DMASource, FunctionalState NewState) |
Enables or disables the TIMx's DMA Requests. | |
void | TIM_SelectCCDMA (TIM_TypeDef *TIMx, FunctionalState NewState) |
Selects the TIMx peripheral Capture Compare DMA source. | |
void | TIM_InternalClockConfig (TIM_TypeDef *TIMx) |
Configures the TIMx internal Clock. | |
void | TIM_ITRxExternalClockConfig (TIM_TypeDef *TIMx, uint16_t TIM_InputTriggerSource) |
Configures the TIMx Internal Trigger as External Clock. | |
void | TIM_TIxExternalClockConfig (TIM_TypeDef *TIMx, uint16_t TIM_TIxExternalCLKSource, uint16_t TIM_ICPolarity, uint16_t ICFilter) |
Configures the TIMx Trigger as External Clock. | |
void | TIM_ETRClockMode1Config (TIM_TypeDef *TIMx, uint16_t TIM_ExtTRGPrescaler, uint16_t TIM_ExtTRGPolarity, uint16_t ExtTRGFilter) |
Configures the External clock Mode1. | |
void | TIM_ETRClockMode2Config (TIM_TypeDef *TIMx, uint16_t TIM_ExtTRGPrescaler, uint16_t TIM_ExtTRGPolarity, uint16_t ExtTRGFilter) |
Configures the External clock Mode2. | |
void | TIM_SelectInputTrigger (TIM_TypeDef *TIMx, uint16_t TIM_InputTriggerSource) |
Selects the Input Trigger source. | |
void | TIM_SelectOutputTrigger (TIM_TypeDef *TIMx, uint16_t TIM_TRGOSource) |
Selects the TIMx Trigger Output Mode. | |
void | TIM_SelectSlaveMode (TIM_TypeDef *TIMx, uint16_t TIM_SlaveMode) |
Selects the TIMx Slave Mode. | |
void | TIM_SelectMasterSlaveMode (TIM_TypeDef *TIMx, uint16_t TIM_MasterSlaveMode) |
Sets or Resets the TIMx Master/Slave Mode. | |
void | TIM_ETRConfig (TIM_TypeDef *TIMx, uint16_t TIM_ExtTRGPrescaler, uint16_t TIM_ExtTRGPolarity, uint16_t ExtTRGFilter) |
Configures the TIMx External Trigger (ETR). | |
void | TIM_EncoderInterfaceConfig (TIM_TypeDef *TIMx, uint16_t TIM_EncoderMode, uint16_t TIM_IC1Polarity, uint16_t TIM_IC2Polarity) |
Configures the TIMx Encoder Interface. | |
void | TIM_SelectHallSensor (TIM_TypeDef *TIMx, FunctionalState NewState) |
Enables or disables the TIMx's Hall sensor interface. | |
void | TIM_RemapConfig (TIM_TypeDef *TIMx, uint16_t TIM_Remap) |
Configures the TIM2, TIM5 and TIM11 Remapping input capabilities. |
Detailed Description
This file provides firmware functions to manage the following functionalities of the TIM peripheral:
- TimeBase management
- Output Compare management
- Input Capture management
- Advanced-control timers (TIM1 and TIM8) specific features
- Interrupts, DMA and flags management
- Clocks management
- Synchronization management
- Specific interface management
- Specific remapping management.
- Version:
- V1.0.0
- Date:
- 30-September-2011
* * =================================================================== * How to use this driver * =================================================================== * This driver provides functions to configure and program the TIM * of all STM32F4xx devices. * These functions are split in 9 groups: * * 1. TIM TimeBase management: this group includes all needed functions * to configure the TM Timebase unit: * - Set/Get Prescaler * - Set/Get Autoreload * - Counter modes configuration * - Set Clock division * - Select the One Pulse mode * - Update Request Configuration * - Update Disable Configuration * - Auto-Preload Configuration * - Enable/Disable the counter * * 2. TIM Output Compare management: this group includes all needed * functions to configure the Capture/Compare unit used in Output * compare mode: * - Configure each channel, independently, in Output Compare mode * - Select the output compare modes * - Select the Polarities of each channel * - Set/Get the Capture/Compare register values * - Select the Output Compare Fast mode * - Select the Output Compare Forced mode * - Output Compare-Preload Configuration * - Clear Output Compare Reference * - Select the OCREF Clear signal * - Enable/Disable the Capture/Compare Channels * * 3. TIM Input Capture management: this group includes all needed * functions to configure the Capture/Compare unit used in * Input Capture mode: * - Configure each channel in input capture mode * - Configure Channel1/2 in PWM Input mode * - Set the Input Capture Prescaler * - Get the Capture/Compare values * * 4. Advanced-control timers (TIM1 and TIM8) specific features * - Configures the Break input, dead time, Lock level, the OSSI, * the OSSR State and the AOE(automatic output enable) * - Enable/Disable the TIM peripheral Main Outputs * - Select the Commutation event * - Set/Reset the Capture Compare Preload Control bit * * 5. TIM interrupts, DMA and flags management * - Enable/Disable interrupt sources * - Get flags status * - Clear flags/ Pending bits * - Enable/Disable DMA requests * - Configure DMA burst mode * - Select CaptureCompare DMA request * * 6. TIM clocks management: this group includes all needed functions * to configure the clock controller unit: * - Select internal/External clock * - Select the external clock mode: ETR(Mode1/Mode2), TIx or ITRx * * 7. TIM synchronization management: this group includes all needed * functions to configure the Synchronization unit: * - Select Input Trigger * - Select Output Trigger * - Select Master Slave Mode * - ETR Configuration when used as external trigger * * 8. TIM specific interface management, this group includes all * needed functions to use the specific TIM interface: * - Encoder Interface Configuration * - Select Hall Sensor * * 9. TIM specific remapping management includes the Remapping * configuration of specific timers * *
- Attention:
THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
© COPYRIGHT 2011 STMicroelectronics
Definition in file stm32f4xx_tim.c.
Generated on Tue Jul 12 2022 19:53:13 by 1.7.2