20 STM32标准库函数 之 通用定时器(TIM)-- B -- 所有函数的介绍及使用

1 通用定时器(TIM)预览

函数名描述
TIM_DeInit将外设 TIMx 寄存器重设为缺省值
TIM_TimeBaseInit根据TIM_TimeBaseInitStruct 中指定的参数初始化TIMx 的时间基数单位
TIM_OCInit根据 TIM_OCInitStruct 中指定的参数初始化外设 TIMx
TIM_ICInit根据 TIM_ICInitStruct 中指定的参数初始化外设 TIMx
TIM_TimeBaseStructInit把 TIM_TimeBaseInitStruct 中的每一个参数按缺省值填入
TIM_OCStructInit把 TIM_OCInitStruct 中的每一个参数按缺省值填入
TIM_ICStructInit把 TIM_ICInitStruct 中的每一个参数按缺省值填入
TIM_Cmd使能或者失能 TIMx 外设
TIM_ITConfig使能或者失能指定的 TIM 中断
TIM_DMAConfig设置 TIMx 的 DMA 接口
TIM_DMACmd使能或者失能指定的 TIMx 的 DMA 请求
TIM_InternalClockConfig设置 TIMx 内部时钟
TIM_ITRxExternalClockConfig设置 TIMx 内部触发为外部时钟模式
TIM_TIxExternalClockConfig设置 TIMx 触发为外部时钟
TIM_ETRClockMode1Config配置 TIMx 外部时钟模式 1
TIM_ETRClockMode2Config配置 TIMx 外部时钟模式 2
TIM_ETRConfig配置 TIMx 外部触发
TIM_SelectInputTrigger选择 TIMx 输入触发源
TIM_PrescalerConfig设置 TIMx 预分频
TIM_CounterModeConfig设置 TIMx 计数器模式
TIM_ForcedOC1Config置 TIMx 输出 1 为活动或者非活动电平
TIM_ForcedOC2Config置 TIMx 输出 2 为活动或者非活动电平
TIM_ForcedOC3Config置 TIMx 输出 3 为活动或者非活动电平
TIM_ForcedOC4Config置 TIMx 输出 4 为活动或者非活动电平
TIM_ARRPreloadConfig使能或者失能 TIMx 在 ARR 上的预装载寄存器
TIM_SelectCCDMA选择 TIMx 外设的捕获比较 DMA 源
TIM_OC1PreloadConfig使能或者失能 TIMx 在 CCR1 上的预装载寄存器
TIM_OC2PreloadConfig使能或者失能 TIMx 在 CCR2 上的预装载寄存器
TIM_OC3PreloadConfig使能或者失能 TIMx 在 CCR3 上的预装载寄存器
TIM_OC4PreloadConfig使能或者失能 TIMx 在 CCR4 上的预装载寄存器
TIM_OC1FastConfig设置 TIMx 捕获比较 1 快速特征
TIM_OC2FastConfig设置 TIMx 捕获比较 2 快速特征
TIM_OC3FastConfig设置 TIMx 捕获比较 3 快速特征
TIM_OC4FastConfig设置 TIMx 捕获比较 4 快速特征
TIM_ClearOC1Ref在一个外部事件时清除或者保持 OCREF1 信号
TIM_ClearOC2Ref在一个外部事件时清除或者保持 OCREF2 信号
TIM_ClearOC3Ref在一个外部事件时清除或者保持 OCREF3 信号
TIM_ClearOC4Ref在一个外部事件时清除或者保持 OCREF4 信号
TIM_UpdateDisableConfig使能或者失能 TIMx 更新事件
TIM_EncoderInterfaceConfig设置 TIMx 编码界面
TIM_GenerateEvent设置 TIMx 事件由软件产生
TIM_OC1PolarityConfig设置 TIMx 通道 1 极性
TIM_OC2PolarityConfig设置 TIMx 通道 2 极性
TIM_OC3PolarityConfig设置 TIMx 通道 3 极性
TIM_OC4PolarityConfig设置 TIMx 通道 4 极性
TIM_UpdateRequestConfig设置 TIMx 更新请求源
TIM_SelectHallSensor使能或者失能 TIMx 霍尔传感器接口
TIM_SelectOnePulseMode设置 TIMx 单脉冲模式
TIM_SelectOutputTrigger选择 TIMx 触发输出模式
TIM_SelectSlaveMode选择 TIMx 从模式
TIM_SelectMasterSlaveMode设置或者重置 TIMx 主/从模式
TIM_SetCounter设置 TIMx 计数器寄存器值
TIM_SetAutoreload设置 TIMx 自动重装载寄存器值
TIM_SetCompare1设置 TIMx 捕获比较 1 寄存器值
TIM_SetCompare2设置 TIMx 捕获比较 2 寄存器值
TIM_SetCompare3设置 TIMx 捕获比较 3 寄存器值
TIM_SetCompare4设置 TIMx 捕获比较 4 寄存器值
TIM_SetIC1Prescaler设置 TIMx 输入捕获 1 预分频
TIM_SetIC2Prescaler设置 TIMx 输入捕获 2 预分频
TIM_SetIC3Prescaler设置 TIMx 输入捕获 3 预分频
TIM_SetIC4Prescaler设置 TIMx 输入捕获 4 预分频
TIM_SetClockDivision设置 TIMx 的时钟分割值
TIM_GetCapture1获得 TIMx 输入捕获 1 的值
TIM_GetCapture2获得 TIMx 输入捕获 2 的值
TIM_GetCapture3获得 TIMx 输入捕获 3 的值
TIM_GetCapture4获得 TIMx 输入捕获 4 的值
TIM_GetCounter获得 TIMx 计数器的值
TIM_GetPrescaler获得 TIMx 预分频值
TIM_GetFlagStatus检查指定的 TIM 标志位设置与否
TIM_ClearFlag清除 TIMx 的待处理标志位
TIM_GetITStatus检查指定的 TIM 中断发生与否
TIM_ClearITPendingBit清除 TIMx 的中断待处理位

1.13 TIM_ITRxExternalClockConfig

函数名TIM_ITRxExternalClockConfig
函数原形void TIM_ITRxExternalClockConfig(TIM_TypeDef* TIMx, u16 TIM_InputTriggerSource)
功能描述设置 TIMx 内部触发为外部时钟模式
输入参数 1TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设
输入参数 2TIM_InputTriggerSource:输入触发源
参阅 Section:TIM_InputTriggerSource 查阅更多该参数允许取值范围
输出参数
返回值
先决条件
被调用函数

TIM_InputTriggerSource 描述

TIM_InputTriggerSource描述
TIM_TS_ITR0TIM 输入触发 0
TIM_TS_ITR1TIM 输入触发 1
TIM_TS_ITR2TIM 输入触发 2
TIM_TS_ITR3TIM 输入触发 3
TIM_TS_TI1F_EDTI1 检测到下降/上升沿触发
TIM_TS_TI1FP1TI1 触发输入 1
TIM_TS_TI2FP2TI2 触发输入 2
TIM_TS_ETRF外部触发信号来源

例:
/* TIM2 internal trigger 3 used as clock source */ TIM_ITRxExternalClockConfig(TIM2, TIM_TS_ITR3);

1.14 TIM_TIxExternalClockConfig

函数名TIM_TIxExternalClockConfig
函数原形void TIM_TIxExternalClockConfig(TIM_TypeDef* TIMx, u16 TIM_TIxExternalCLKSource, u8 TIM_ICPolarity, u8 ICFilter)
功能描述设置 TIMx 触发为外部时钟
输入参数 1TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设
输入参数 2TIM_TIxExternalCLKSource:触发源
参阅 Section:TIM_TIxExternalCLKSource 查阅更多该参数允许取值范围
输入参数 3TIM_ICPolarity:指定的TI 极性
参阅 Section:TIM_ICPolarity 查阅更多该参数允许取值范围
输入参数 4ICFilter:指定的输入比较滤波器。该参数取值在 0x0 和 0xF 之间。
输出参数
返回值
先决条件
被调用函数

TIM_TIxExternalCLKSource 描述

TIM_TIxExternalCLKSource描述
TIM_TIxExternalCLK1TIM 外部时钟 1
TIM_TIxExternalCLK2TIM 外部时钟 2
TIM_TIxExternalCLK3TIM 外部时钟 3

TIM_ICPolarity 描述

TIM_ICPolarity描述
TIM_ICPolarity_RisingTI 输入捕获上升沿
TIM_ICPolarity_FallingTI 输入捕获下降沿

例:
/* Selects the TI1 as clock for TIM2: the external clock is connected to TI1 input pin, the rising edge is the active edge and no filter sampling is done (ICFilter = 0) */ TIM_TIxExternalClockConfig(TIM2, TIM_TS_TI1FP1, TIM_ICPolarity_Rising, 0);

1.15 TIM_ETRClockMode1Config

函数名TIM_ETRClockMode1Config
函数原形void TIM_ETRClockMode1Config(TIM_TypeDef* TIMx, u16 TIM_ExtTRGPrescaler, u16 TIM_ExtTRGPolarity, u16 ExtTRGFilter)
功能描述配置 TIMx 外部时钟模式 1
输入参数 1TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设
输入参数 2TIM_ExtTRGPrescaler:外部触发预分频
参阅 Section:TIM_ExtTRGPrescaler 查阅更多该参数允许取值范围
输入参数 3TIM_ExtTRGPolarity:外部时钟极性
参阅 Section:TIM_ExtTRGPolarity 查阅更多该参数允许取值范围
输入参数 4ExtTRGFilter:外部触发滤波器。该参数取值在 0x0 和 0xF 之间。
输出参数
返回值
先决条件
被调用函数

TIM_ExtTRGPrescaler 描述

TIM_ExtTRGPrescaler描述
TIM_ExtTRGPSC_OFF外部触发预分频关闭
TIM_ExtTRGPSC_DIV2外部触发预分频 2
TIM_ExtTRGPSC_DIV4外部触发预分频 4
TIM_ExtTRGPSC_DIV8外部触发预分频 8

TIM_ExtTRGPolarity 描述

TIM_ExtTRGPolarity描述
TIM_ExtTRGPolarity_NonInverted非反相
TIM_ExtTRGPolarity_Inverted反相

例:
/* Selects the external clock Mode 1 for TIM2: the external clock is connected to ETR input pin, the rising edge is the active edge, no filter sampling is done (ExtTRGFilter = 0) and the prescaler is fixed to TIM_ExtTRGPSC_DIV2 */
TIM_ExternalCLK1Config(TIM2, TIM_ExtTRGPSC_DIV2,
TIM_ExtTRGPolarity_NonInverted, 0x0);

1.16 TIM_ETRClockMode2Config

函数名TIM_ETRClockMode2Config
函数原形void TIM_ETRClockMode2Config(TIM_TypeDef* TIMx, u16 TIM_ExtTRGPrescaler, u16 TIM_ExtTRGPolarity, u16 ExtTRGFilter)
功能描述配置 TIMx 外部时钟模式 2
输入参数1TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设
输入参数2TIM_ExtTRGPrescaler:外部触发预分频
参阅 Section:TIM_ExtTRGPrescaler 查阅更多该参数允许取值范围
输入参数3TIM_ExtTRGPolarity:外部时钟极性
参阅 Section:TIM_ExtTRGPolarity 查阅更多该参数允许取值范围
输入参数4ExtTRGFilter:外部触发滤波器。该参数取值在 0x0 和 0xF 之间。
输出参数
返回值
先决条件
被调用函数

TIM_ExtTRGPrescaler 描述

TIM_ExtTRGPrescaler描述
TIM_ExtTRGPSC_OFF外部触发预分频关闭
TIM_ExtTRGPSC_DIV2外部触发预分频 2
TIM_ExtTRGPSC_DIV4外部触发预分频 4
TIM_ExtTRGPSC_DIV8外部触发预分频 8

TIM_ExtTRGPolarity 描述

TIM_ExtTRGPolarity描述
TIM_ExtTRGPolarity_NonInverted非反相
TIM_ExtTRGPolarity_Inverted反相

例:
/* Selects the external clock Mode 2 for TIM2: the external clock is connected to ETR input pin, the rising edge is the active edge, no filter sampling is done (ExtTRGFilter = 0) and the prescaler is fixed to TIM_ExtTRGPSC_DIV2 */
TIM_ExternalCLK2Config(TIM2, TIM_ExtTRGPSC_DIV2, TIM_ExtTRGPolarity_NonInverted, 0x0);

1.17 函数TIM_ETRConfig

函数名TIM_ETRConfig
函数原形void TIM_ETRConfig(TIM_TypeDef* TIMx, u16 TIM_ExtTRGPrescaler, u16 TIM_ExtTRGPolarity, u8 ExtTRGFilter)
功能描述配置 TIMx 外部触发
输入参数1TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设
输入参数2TIM_ExtTRGPrescaler:外部触发预分频
参阅 Section:TIM_ExtTRGPrescaler 查阅更多该参数允许取值范围
输入参数3TIM_ExtTRGPolarity:外部时钟极性
参阅 Section:TIM_ExtTRGPolarity 查阅更多该参数允许取值范围
输入参数4ExtTRGFilter:外部触发滤波器。该参数取值在 0x0 和 0xF 之间。
输出参数
返回值
先决条件
被调用函数

TIM_ExtTRGPrescaler 描述

TIM_ExtTRGPrescaler描述
TIM_ExtTRGPSC_OFF外部触发预分频关闭
TIM_ExtTRGPSC_DIV2外部触发预分频 2
TIM_ExtTRGPSC_DIV4外部触发预分频 4
TIM_ExtTRGPSC_DIV8外部触发预分频 8

TIM_ExtTRGPolarity 描述

TIM_ExtTRGPolarity描述
TIM_ExtTRGPolarity_NonInverted非反相
TIM_ExtTRGPolarity_Inverted反相

例:
/* Configure the External Trigger (ETR) for TIM2: the rising edge is the active edge, no filter sampling is done (ExtTRGFilter = 0) and the prescaler is fixed to TIM_ExtTRGPSC_DIV2 */ TIM_ExternalCLK2Config(TIM2, TIM_ExtTRGPSC_DIV2, TIM_ExtTRGPolarity_NonInverted, 0x0);

1.18 函数TIM_SelectInputTrigger

函数名TIM_SelectInputTrigger
函数原形void TIM_SelectInputTrigger(TIM_TypeDef* TIMx, u16 TIM_InputTriggerSource)
功能描述选择 TIMx 输入触发源
输入参数1TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设
输入参数2TIM_InputTriggerSource:输入触发源
参阅 Section:TIM_InputTriggerSource 查阅更多该参数允许取值范围
输出参数
返回值
先决条件
被调用函数

TIM_InputTriggerSource 描述

TIM_InputTriggerSource描述
TIM_TS_ITR0TIM 输入触发来自 ITR0
TIM_TS_ITR1TIM 输入触发来自 ITR1
TIM_TS_ITR2TIM 输入触发来自 ITR2
TIM_TS_ITR3TIM 输入触发来自 ITR3
TIM_TS_TI1F_EDTIM 输入触发来自 TI1 触发边沿
TIM_TS_TI1FP1TIM 输入触发来自 TI1 触发和 TI1 通道捕获 1 的 XOR
TIM_TS_TI2FP2TIM 输入触发来自 TI2 触发和 TI2 通道捕获 2 的 XOR
TIM_TS_ETRFTIM 输入触发来自外部触发信号

例:
/* Selects the Internal Trigger 3 as input trigger fot TIM2 */ void TIM_SelectInputTrigger(TIM2, TIM_TS_ITR3);

1.19 函数 TIM_PrescalerConfig

函数名TIM_PrescalerConfig
函数原形void TIM_PrescalerConfig(TIM_TypeDef* TIMx, u16 Prescaler, u16 TIM_PSCReloadMode)
功能描述设置 TIMx 预分频
输入参数1TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设
输入参数2Prescaler:预分频值
输入参数3TIM_PSCReloadMode:预分频重载模式
参阅 Section:TIM_PSCReloadMode 查阅更多该参数允许取值范围
输出参数
返回值
先决条件
被调用函数

TIM_PSCReloadMode 描述

TIM_PSCReloadMode描述
TIM_PSCReloadMode_Update当 ARR 更新时,预分频将被重新加载
TIM_PSCReloadMode_Immediate预分频将立即被加载

例:
/* Configures the TIM2 new Prescaler value */ u16 TIMPrescaler = 0xFF00; TIM_PrescalerConfig(TIM2, TIMPrescaler, TIM_PSCReloadMode_Immediate);

1.20 函数TIM_CounterModeConfig

函数名TIM_CounterModeConfig
函数原形void TIM_CounterModeConfig(TIM_TypeDef* TIMx, u16 TIM_CounterMode)
功能描述设置 TIMx 计数器模式
输入参数1TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设
输入参数2TIM_CounterMode:待使用的计数器模式
参阅 Section:TIM_CounterMode 查阅更多该参数允许取值范围
输出参数
返回值
先决条件
被调用函数

TIM_CounterMode 描述

TIM_CounterMode描述
TIM_CounterMode_UpTIM 向上计数模式
TIM_CounterMode_DownTIM 向下计数模式
TIM_CounterMode_CenterAligned1TIM 中央对齐模式 1 计数模式
TIM_CounterMode_CenterAligned2TIM 中央对齐模式 2 计数模式

例:
/* Selects the Center Aligned counter Mode 1 for the TIM2 */ TIM_CounterModeConfig(TIM2, TIM_Counter_CenterAligned1);

1.21 函数TIM_ForcedOC1Config

函数名TIM_ForcedOC1Config
函数原形void TIM_ForcedOC1Config(TIM_TypeDef* TIMx, u16 TIM_ForcedAction)
功能描述置 TIMx 输出 1 为活动或者非活动电平
输入参数1TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设
输入参数2TIM_ForcedAction:输出信号的设置动作
参阅 Section:TIM_ForcedAction 查阅更多该参数允许取值范围
输出参数
返回值
先决条件
被调用函数

TIM_ForcedAction 描述

TIM_ForcedAction描述
TIM_ForcedAction_Active输出为活动电平
TIM_ForcedAction_InActive输出为非活动电平

例:
/* Forces the TIM2 Output Compare 1 signal to the active level */ TIM_ForcedOC1Config(TIM2, TIM_ForcedAction_Active);

1.22 函数TIM_ForcedOC2Config

函数名TIM_ForcedOC2Config
函数原形void TIM_ForcedOC2Config(TIM_TypeDef* TIMx, u16 TIM_ForcedAction)
功能描述置 TIMx 输出 2 为活动或者非活动电平
输入参数1TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设
输入参数2TIM_ForcedAction:输出信号的设置动作
参阅 Section:TIM_ForcedAction 查阅更多该参数允许取值范围
输出参数
返回值
先决条件
被调用函数
TIM_ForcedAction描述
TIM_ForcedAction_Active输出为活动电平
TIM_ForcedAction_InActive输出为非活动电平

例:
/* Forces the TIM2 Output Compare 1 signal to the active level */ TIM_ForcedOC1Config(TIM2, TIM_ForcedAction_Active);

1.23 函数TIM_ForcedOC3Config

| 函数名                 | TIM_ForcedOC3Config                                                     |
|------------------------|-------------------------------------------------------------------------|
| 函数原形               | void TIM_ForcedOC3Config(TIM_TypeDef* TIMx, u16 TIM_ForcedAction)     |
| 功能描述               | 置 TIMx 输出 3 为活动或者非活动电平                                       |
| 输入参数1             | TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设                              |
| 输入参数2             | TIM_ForcedAction:输出信号的设置动作                                     |
|                        | 参阅 Section:TIM_ForcedAction 查阅更多该参数允许取值范围                |
| 输出参数               | 无                                                                       |
| 返回值                 | 无                                                                       |
| 先决条件               | 无                                                                       |
| 被调用函数             | 无                                                                       |

TIM_ForcedAction 描述

TIM_ForcedAction描述
TIM_ForcedAction_Active输出为活动电平
TIM_ForcedAction_InActive输出为非活动电平

例:
/* Forces the TIM2 Output Compare 3 signal to the active level */ TIM_ForcedOC3Config(TIM2, TIM_ForcedAction_Active);

1.24 TIM_ForcedOC4Config

函数名TIM_ForcedOC4Config
函数原形void TIM_ForcedOC4Config(TIM_TypeDef* TIMx, u16 TIM_ForcedAction)
功能描述置 TIMx 输出 4 为活动或者非活动电平
输入参数1TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设
输入参数2TIM_ForcedAction:输出信号的设置动作
参阅 Section:TIM_ForcedAction 查阅更多该参数允许取值范围
输出参数
返回值
先决条件
被调用函数

TIM_ForcedAction 描述

TIM_ForcedAction描述
TIM_ForcedAction_Active输出被强制到活动状态
TIM_ForcedAction_Inactive输出被强制到非活动状态

例:
/* Forces the TIM2 Output Compare 4 signal to the active level */ TIM_ForcedOC4Config(TIM2, TIM_ForcedAction_Active);

该文档修改记录:

修改时间修改说明
2024年3月28日第一次发布,介绍了20 STM32标准库函数 之 通用定时器(TIM)-- B – 所有函数的介绍及使用

总结

以上就是 20 STM32标准库函数 之 通用定时器(TIM)-- B – 所有函数的介绍及使用的内容。
有不明白的地方欢迎留言;有建议欢迎留言,我后面编写文档好改进。
创作不容,如果文档对您有帮助,记得给个赞。

  • 27
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

常驻客栈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值