Stm32 | TIM固件库函数整理

发布时间 2023-08-23 10:59:15作者: Rev_RoastDuck

1.TIM_TypeDef

相关函数

void TIM_DeInit(TIM_TypeDef* TIMx)

- 将定时器的所有寄存器和配置参数重置为默认值

- 清除任何挂起的中断状态和中断标志

- 关闭定时器的时钟和相关外设

void TIM_Cmd(TIM_TypeDef* TIMx, FunctionalState NewState)
- 用于使能或禁用指定的定时器(TIMx)
void TIM_CtrlPWMOutputs(TIM_TypeDef* TIMx, FunctionalState NewState)
- 用于控制定时器的 PWM 输出
void TIM_ITConfig(TIM_TypeDef* TIMx, uint16_t TIM_IT, FunctionalState NewState)
- 用于配置指定定时器(TIMx)的中断功能
void TIM_GenerateEvent(TIM_TypeDef* TIMx, uint16_t TIM_EventSource)
- 调用 TIM_GenerateEvent 函数将触发指定事件源的事件。这可以用于模拟外部触发某个事件,或在特定条件下生成事件信号
void TIM_InternalClockConfig(TIM_TypeDef* TIMx)
- 用于配置定时器的内部时钟输入触发源
void TIM_ITRxExternalClockConfig(TIM_TypeDef* TIMx, uint16_t TIM_InputTriggerSource)
- 用于配置定时器的外部时钟输入触发源
void TIM_TIxExternalClockConfig(TIM_TypeDef* TIMx, uint16_t TIM_TIxExternalCLKSource,uint16_t TIM_ICPolarity, uint16_t ICFilter)
- 用于配置定时器的外部时钟输入源和相关参数
void TIM_PrescalerConfig(TIM_TypeDef* TIMx, uint16_t Prescaler, uint16_t TIM_PSCReloadMode)
- 用于配置定时器的预分频器和预分频重载模式
void TIM_CounterModeConfig(TIM_TypeDef* TIMx, uint16_t TIM_CounterMode)
- 用于配置定时器的计数模式
void TIM_SelectInputTrigger(TIM_TypeDef* TIMx, uint16_t TIM_InputTriggerSource)
- 用于选择定时器的输入触发源
void TIM_ARRPreloadConfig(TIM_TypeDef* TIMx, FunctionalState NewState)
- 用于配置定时器的自动重装载寄存器(ARR)的预装载功能
void TIM_CCPreloadControl(TIM_TypeDef* TIMx, FunctionalState NewState)
- 用于配置定时器的比较寄存器(CCR)的预装载功能
void TIM_OC1PreloadConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPreload)
- 用于配置定时器的输出比较通道 1(OC1)的预装载功能
void TIM_OC1PolarityConfig(TIM_TypeDef* TIMx, uint16_t TIM_OCPolarity)
- 用于配置定时器的输出比较通道 1(OC1)的极性
void TIM_CCxCmd(TIM_TypeDef* TIMx, uint16_t TIM_Channel, uint16_t TIM_CCx)
- 用于控制定时器的比较/捕获通道的开关状态
void TIM_SelectOCxM(TIM_TypeDef* TIMx, uint16_t TIM_Channel, uint16_t TIM_OCMode)
- 用于选择定时器的输出比较模式(OCxM)
void TIM_UpdateDisableConfig(TIM_TypeDef* TIMx, FunctionalState NewState)
- 用于配置定时器的更新事件禁止状态
void TIM_UpdateRequestConfig(TIM_TypeDef* TIMx, uint16_t TIM_UpdateSource)
- 用于配置定时器的更新请求源
void TIM_SelectSlaveMode(TIM_TypeDef* TIMx, uint16_t TIM_SlaveMode)
- 用于配置定时器的从模式(Slave Mode)
void TIM_SelectMasterSlaveMode(TIM_TypeDef* TIMx, uint16_t TIM_MasterSlaveMode)
- 用于配置定时器的主从模式(Master/Slave Mode)
void TIM_SetCounter(TIM_TypeDef* TIMx, uint16_t Counter)
- 用于设置定时器的计数器值
void TIM_SetAutoreload(TIM_TypeDef* TIMx, uint16_t Autoreload)
- 用于设置自动重装载值
void TIM_SetCompare2(TIM_TypeDef* TIMx, uint16_t Compare2)
- 用于设置定时器的比较寄存器2的值
void TIM_SetIC1Prescaler(TIM_TypeDef* TIMx, uint16_t TIM_ICPSC)
- 用于设置定时器输入捕获通道1的预分频器分频系数
void TIM_SetClockDivision(TIM_TypeDef* TIMx, uint16_t TIM_CKD)
- 设置时钟分频
uint16_t TIM_GetCapture1(TIM_TypeDef* TIMx)
- 用于获取定时器输入捕获通道1的捕获值
uint16_t TIM_GetCounter(TIM_TypeDef* TIMx)
- 获取当前计数值
uint16_t TIM_GetPrescaler(TIM_TypeDef* TIMx)
- 获取定时器分频值
FlagStatus TIM_GetFlagStatus(TIM_TypeDef* TIMx, uint16_t TIM_FLAG)
- 获取标志位
void TIM_ClearFlag(TIM_TypeDef* TIMx, uint16_t TIM_FLAG)
- 清除标志位
ITStatus TIM_GetITStatus(TIM_TypeDef* TIMx, uint16_t TIM_IT)
- 获取中断标志位
void TIM_ClearITPendingBit(TIM_TypeDef* TIMx, uint16_t TIM_IT)
- 清除中断标志位

2.TIM_TimeBaseInitTypeDef

成员变量

  • TIM_Prescaler :指定定时器时钟分频的预分频器值
  • TIM_CounterMode :指定计数器模式
  • TIM_Period :指定在下一个更新事件时要加载到活动的自动重装寄存器中的周期值
  • TIM_ClockDivision :指定定时钟分频系数
  • TIM_RepetitionCounter :指定重复计数器的值,只有在 PWM 模式下才会起作用

相关的操作函数

void TIM_TimeBaseInit(TIM_TypeDef* TIMx, TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct)
- 用于初始化TIM_TimeBaseInitTypeDef结构体,给TIM_TimeBaseInitTypeDef结构体成员变量赋默认值,而不涉及对定时器寄存器的操作

3.TIM_OCInitTypeDef

成员变量

  • TIM_OCMode :指定TIM模式
  • TIM_OutputState :指定TIM输出比较状态(TIM_OutputState_Disable)
  • TIM_OutputNState :指定 TIM 互补输出比较状态
  • TIM_Pulse :指定比较值
  • TIM_OCPolarity :指定输出极性
  • TIM_OCNPolarity :指定互补输出极性
  • TIM_OCIdleState :指定空闲状态下的 TIM 输出比较引脚状态
  • TIM_OCNIdleState :指定空闲状态下的 TIM 互补输出比较引脚状态

相关的操作函数

void TIM_OC1Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct)
- 用于初始化定时器的通道1输出比较(Output Compare)配置
void TIM_OCStructInit(TIM_OCInitTypeDef* TIM_OCInitStruct)
- 用于初始化TIM_OCInitStruct结构体,给TIM_OCInitStruct结构体成员变量赋默认值,而不涉及对定时器寄存器的操作

4.TIM_ICInitTypeDef

成员变量

  • TIM_Channel :指定TIM输入捕获(Input Capture)通道
  • TIM_ICPolarity :指定输入信号的活动边沿
  • TIM_ICSelection :指定输入源
  • TIM_ICPrescaler :指定输入捕获预分频器
  • TIM_ICFilter :指定输入捕获滤波器,用于消除输入信号中的干扰

相关的操作函数

void TIM_ICInit(TIM_TypeDef* TIMx, TIM_ICInitTypeDef* TIM_ICInitStruct)
- 用于初始化定时器的输入捕获(Input Capture)配置
void TIM_PWMIConfig(TIM_TypeDef* TIMx, TIM_ICInitTypeDef* TIM_ICInitStruct)
- 用于配置定时器的脉冲宽度调制输入(PWM Input)
void TIM_ICStructInit(TIM_ICInitTypeDef* TIM_ICInitStruct)
- 用于初始化TIM_ICInitStruct结构体,给TIM_ICInitStruct结构体成员变量赋默认值,而不涉及对定时器寄存器的操作