当前位置:   article > 正文

19 STM32标准库函数 之 通用定时器(TIM)-- A -- 所有函数的介绍及使用_开启通用定时器的函数

开启通用定时器的函数

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.1 函数TIM_DeInit

属性
函数名TIM_DeInit
函数原形void TIM_DeInit(TIM_TypeDef* TIMx)
功能描述将外设 TIMx 寄存器重设为缺省值
输入参数TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设
输出参数
返回值
先决条件
被调用函数RCC_APB1PeriphClockCmd()
TIM_DeInit(TIM2);

1.2 TIM_TimeBaseInit

属性
函数名TIM_TimeBaseInit
函数原形void TIM_TimeBaseInit(TIM_TypeDef* TIMx, TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct)
功能描述根据 TIM_TimeBaseInitStruct 中指定的参数初始化 TIMx 的时间基数单位
输入参数 1TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设
输入参数 2TIMTimeBase_InitStruct:指向结构 TIM_TimeBaseInitTypeDef 的指针,包含了 TIMx 时间基数单位的配置信息
参阅Section:TIM_TimeBaseInitTypeDef 查阅更多该参数允许取值范围
输出参数
返回值
先决条件
被调用函数
属性
描述TIM_ClockDivision
TIM_CKD_DIV1TDTS = Tck_tim
TIM_CKD_DIV2TDTS = 2Tck_tim
TIM_CKD_DIV4TDTS = 4Tck_tim
TIM_CounterMode描述
TIM_CounterMode_UpTIM 向上计数模式
TIM_CounterMode_DownTIM 向下计数模式
TIM_CounterMode_CenterAligned1TIM 中央对齐模式 1 计数模式
TIM_CounterMode_CenterAligned2TIM 中央对齐模式 2 计数模式

例:
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_TimeBaseStructure.TIM_Period = 0xFFFF; TIM_TimeBaseStructure.TIM_Prescaler = 0xF; TIM_TimeBaseStructure.TIM_ClockDivision = 0x0; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseInit(TIM2, & TIM_TimeBaseStructure);

1.3 TIM_OCInit

属性
函数名TIM_OCInit
函数原形void TIM_OCInit(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct)
功能描述根据 TIM_OCInitStruct 中指定的参数初始化外设 TIMx
输入参数 1TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设
输入参数 2TIM_OCInitStruct:指向结构 TIM_OCInitTypeDef 的指针,包含了 TIMx 时间基数单位的配置信息
参阅Section:TIM_OCInitTypeDef 查阅更多该参数允许取值范围
输出参数
返回值
先决条件
被调用函数
TIM_OCMode描述
TIM_OCMode_TimingTIM 输出比较时间模式
TIM_OCMode_ActiveTIM 输出比较主动模式
TIM_OCMode_InactiveTIM 输出比较非主动模式
TIM_OCMode_ToggleTIM 输出比较触发模式
TIM_OCMode_PWM1TIM 脉冲宽度调制模式 1
TIM_OCMode_PWM2TIM 脉冲宽度调制模式 2
TIM_Channel描述
TIM_Channel_1使用 TIM 通道 1
TIM_Channel_2使用 TIM 通道 2
TIM_Channel_3使用 TIM 通道 3
TIM_Channel_4使用 TIM 通道 4
TIM_OCPolarity描述
TIM_OCPolarity_HighTIM 输出比较极性高
TIM_OCPolarity_LowTIM 输出比较极性低

例:
/* Configures the TIM2 Channel1 in PWM Mode */ TIM_OCInitTypeDef TIM_OCInitStructure; TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; TIM_OCInitStructure.TIM_Channel = TIM_Channel_1; TIM_OCInitStructure.TIM_Pulse = 0x3FFF; TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; TIM_OCInit(TIM2, & TIM_OCInitStructure);

1.4 TIM_ICInit

属性
函数名TIM_OCInit
函数原形void TIM_ICInit(TIM_TypeDef* TIMx, TIM_ICInitTypeDef* TIM_ICInitStruct)TIM_OCInitStruct)
功能描述根据 TIM_ICInitStruct 中指定的参数初始化外设 TIMx
输入参数 1TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设
输入参数 2TIM_ICInitStruct:指向结构 TIM_ICInitTypeDef 的指针,包含了 TIMx 的配置信息
参阅Section:TIM_ICInitTypeDef 查阅更多该参数允许取值范围
输出参数
返回值
先决条件
被调用函数

例:
/* The following example illustrates how to configure the TIM2 in PWM Input mode : The external signal is connected to TIM2 CH1 pin, the Rising edge is used as active edge, the TIM2 CCR1 is used to compute the frequency value the TIM2 CCR2 is used to compute the duty cycle value */
TIM_DeInit(TIM2);
TIM_ICStructInit(&TIM_ICInitStructure); TIM_ICInitStructure.TIM_ICMode = TIM_ICMode_PWMI; TIM_ICInitStructure.TIM_Channel = TIM_Channel_1; TIM_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Rising; TIM_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI; TIM_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV1; TIM_ICInitStructure.TIM_ICFilter = 0x0;
TIM_ICInit(TIM2, &TIM_ICInitStructure);

1.5 TIM_TimeBaseStructInit

属性
函数名TIM_TimeBaseStructInit
函数原形void TIM_TimeBaseStructInit(TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct)
功能描述把 TIM_TimeBaseInitStruct 中的每一个参数按缺省值填入
输入参数TIM_TimeBaseInitStruct:指向结构 TIM_TimeBaseInitTypeDef 的指针,待初始化
输出参数
返回值
先决条件
被调用函数
成员缺省值
TIM_PeriodTIM_Period_Reset_Mask
TIM_PrescalerTIM_Prescaler_Reset_Mask
TIM_CKDTIM_CKD_DIV1
TIM_CounterModeTIM_CounterMode_Up

例:
/* The following example illustrates how to initialize a TIM_BaseInitTypeDef structure */
TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure; TIM_TimeBaseStructInit(& TIM_TimeBaseInitStructure);

1.6 TIM_OCStructInit

属性
函数名TIM_OCStructInit
函数原形void TIM_TimeBaseStructInit(TIM_OCInitTypeDef* TIM_OCInitStruct)
功能描述把 TIM_OCInitStruct 中的每一个参数按缺省值填入
输入参数TIM_OCInitStruct:指向结构 TIM_OCInitTypeDef 的指针,待初始化
输出参数
返回值
先决条件
被调用函数
成员缺省值
TIM_OCModeTIM_OCMode_Timing
TIM_ChannelTIM_Channel_1
TIM_PulseTIM_Pulse_Reset_Mask
TIM_OCPolarityTIM_OCPolarity_High

例:
/* The following example illustrates how to initialize a TIM_OCInitTypeDef structure */
TIM_OCInitTypeDef TIM_OCInitStructure; TIM_OCStructInit(& TIM_OCInitStructure);

1.7 TIM_ICStructInit

属性
函数名TIM_ICStructInit
函数原形void TIM_ICStructInit(TIM_ICInitTypeDef* TIM_ICInitStruct)
功能描述把 TIM_ICInitStruct 中的每一个参数按缺省值填入
输入参数TIM_ICInitStruct:指向结构 TIM_ICInitTypeDef 的指针,待初始化
输出参数
返回值
先决条件
被调用函数
成员缺省值
TIM_ICModeTIM_ICMode_ICAP
TIM_ChannelTIM_Channel_1
TIM_ICPolarityTIM_ICPolarity_Rising
TIM_ICSelectionTIM_ICSelection_DirectTI
TIM_ICPrescalerTIM_ICPSC_DIV1
TIM_ICFilterTIM_ICFilter_Mask

1.8 TIM_Cmd

属性
函数名TIM_Cmd
函数原形void TIM_Cmd(TIM_TypeDef* TIMx, FunctionalState NewState)
功能描述使能或者失能 TIMx 外设
输入参数 1TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设
输入参数 2NewState: 外设 TIMx 的新状态
这个参数可以取:ENABLE 或者 DISABLE
输出参数
返回值
先决条件
被调用函数

例:/* Enables the TIM2 counter */ TIM_Cmd(TIM2, ENABLE);

1.9 TIM_ITConfig

属性
函数名TIM_ITConfig
函数原形void TIM_ITConfig(TIM_TypeDef* TIMx, u16 TIM_IT, FunctionalState NewState)
功能描述使能或者失能指定的 TIM 中断
输入参数 1TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设
输入参数 2TIM_IT:待使能或者失能的 TIM 中断源
参阅 Section:TIM_IT 查阅更多该参数允许取值范围
输入参数 3NewState:TIMx 中断的新状态
这个参数可以取:ENABLE 或者 DISABLE
输出参数
返回值
先决条件
被调用函数
TIM_IT描述
TIM_IT_UpdateTIM 中断源
TIM_IT_CC1TIM 捕获/比较 1 中断源
TIM_IT_CC2TIM 捕获/比较 2 中断源
TIM_IT_CC3TIM 捕获/比较 3 中断源
TIM_IT_CC4TIM 捕获/比较 4 中断源
TIM_IT_TriggerTIM 触发中断源

例:/* Enables the TIM2 Capture Compare channel 1 Interrupt source */ TIM_ITConfig(TIM2, TIM_IT_CC1, ENABLE);

1.10 TIM_DMAConfig

函数名TIM_DMAConfig
函数原形void TIM_DMAConfig(TIM_TypeDef* TIMx, u8 TIM_DMABase, u16 TIM_DMABurstLength)
功能描述设置 TIMx 的 DMA 接口
输入参数 1TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设
输入参数 2TIM_DMABase:DMA 传输起始地址
参阅 Section:TIM_DMABase 查阅更多该参数允许取值范围
输入参数 3TIM_DMABurstLength:DMA 连续传送长度
参阅 Section:TIM_DMABurstLength 查阅更多该参数允许取值范围
输出参数
返回值
先决条件
被调用函数

TIM_DMABase 描述

TIM_DMABase描述
TIM_DMABase_CR1TIM CR1 寄存器作为 DMA 传输起始地址
TIM_DMABase_CR2TIM CR2 寄存器作为 DMA 传输起始地址
TIM_DMABase_SMCRTIM SMCR 寄存器作为 DMA 传输起始地址
TIM_DMABase_DIERTIM DIER 寄存器作为 DMA 传输起始地址
TIM_DMABase_SRTIM SR 寄存器作为 DMA 传输起始地址
TIM_DMABase_EGRTIM EGR 寄存器作为 DMA 传输起始地址
TIM_DMABase_CCMR1TIM CCMR1 寄存器作为 DMA 传输起始地址
TIM_DMABase_CCMR2TIM CCMR2 寄存器作为 DMA 传输起始地址
TIM_DMABase_CCERTIM CCER 寄存器作为 DMA 传输起始地址
TIM_DMABase_CNTTIM CNT 寄存器作为 DMA 传输起始地址
TIM_DMABase_PSCTIM PSC 寄存器作为 DMA 传输起始地址
TIM_DMABase_ARRTIM APR 寄存器作为 DMA 传输起始地址
TIM_DMABase_CCR1TIM CCR1 寄存器作为 DMA 传输起始地址
TIM_DMABase_CCR2TIM CCR2 寄存器作为 DMA 传输起始地址
TIM_DMABase_CCR3TIM CCR3 寄存器作为 DMA 传输起始地址
TIM_DMABase_CCR4TIM CCR4 寄存器作为 DMA 传输起始地址
TIM_DMABase_DCRTIM DCR 寄存器作为 DMA 传输起始地址

TIM_DMABurstLength 描述

TIM_DMABurstLength描述
TIM_DMABurstLength_1ByteTIM DMA 连续传送长度 1 字
TIM_DMABurstLength_2BytesTIM DMA 连续传送长度 2 字
TIM_DMABurstLength_3BytesTIM DMA 连续传送长度 3 字
TIM_DMABurstLength_4BytesTIM DMA 连续传送长度 4 字
TIM_DMABurstLength_5BytesTIM DMA 连续传送长度 5 字
TIM_DMABurstLength_6BytesTIM DMA 连续传送长度 6 字
TIM_DMABurstLength_7BytesTIM DMA 连续传送长度 7 字
TIM_DMABurstLength_8BytesTIM DMA 连续传送长度 8 字
TIM_DMABurstLength_9BytesTIM DMA 连续传送长度 9 字
TIM_DMABurstLength_10BytesTIM DMA 连续传送长度 10 字
TIM_DMABurstLength_11BytesTIM DMA 连续传送长度 11 字
TIM_DMABurstLength_12BytesTIM DMA 连续传送长度 12 字
TIM_DMABurstLength_13BytesTIM DMA 连续传送长度 13 字
TIM_DMABurstLength_14BytesTIM DMA 连续传送长度 14 字
TIM_DMABurstLength_15BytesTIM DMA 连续传送长度 15 字
TIM_DMABurstLength_16BytesTIM DMA 连续传送长度 16 字
TIM_DMABurstLength_17BytesTIM DMA 连续传送长度 17 字
TIM_DMABurstLength_18BytesTIM DMA 连续传送长度 18 字

例:/* Configures the TIM2 DMA Interface to transfer 1 byte and to use the CCR1 as base address */ TIM_DMAConfig(TIM2, TIM_DMABase_CCR1, TIM_DMABurstLength_1Byte)

1.11 TIM_DMACmd

函数名TIM_DMACmd
函数原形void TIM_DMACmd(TIM_TypeDef* TIMx, u16 TIM_DMASource, FunctionalState Newstate)
功能描述使能或者失能指定的 TIMx 的 DMA 请求
输入参数 1TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设
输入参数 2TIM_DMASource:待使能或者失能的 TIM 中断源
输入参数 3NewState:DMA 请求的新状态
这个参数可以取:ENABLE 或者 DISABLE
输出参数
返回值
先决条件
被调用函数
TIM_DMASource描述
TIM_DMA_UpdateTIM 更新事件的 DMA 请求
TIM_DMA_CC1TIM 捕获/比较 1 事件的 DMA 请求
TIM_DMA_CC2TIM 捕获/比较 2 事件的 DMA 请求
TIM_DMA_CC3TIM 捕获/比较 3 事件的 DMA 请求
TIM_DMA_CC4TIM 捕获/比较 4 事件的 DMA 请求
TIM_DMA_COMTIM COM 事件的 DMA 请求
TIM_DMA_TriggerTIM 触发事件的 DMA 请求

1.12 TIM_InternalClockConfig

函数名TIM_InternalClockConfig
函数原形void TIM_DMACmd(TIM_TypeDef* TIMx, u16 TIM_DMASource, FunctionalState Newstate)
功能描述设置 TIMx 内部时钟
输入参数TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设
输出参数
返回值
先决条件
被调用函数

例:
/* Selects the internal clock for TIM2 */ TIM_InternalClockConfig(TIM2);

该文档修改记录:

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

总结

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Guff_9hys/article/detail/912890
推荐阅读
相关标签
  

闽ICP备14008679号