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

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.25 函数 TIM_ARRPreloadConfig

函数名TIM_ARRPreloadConfig
函数原形void TIM_ARRPreloadConfig(TIM_TypeDef* TIMx, FunctionalState Newstate)
功能描述使能或者失能 TIMx 在 ARR 上的预装载寄存器
输入参数1TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设
输入参数2NewState: TIM_CR1 寄存器 ARPE 位的新状态
这个参数可以取:ENABLE 或者 DISABLE
输出参数
返回值
先决条件
被调用函数

例:
/* Enables the TIM2 Preload on ARR Register */ TIM_ARRPreloadConfig(TIM2, ENABLE);

1.26 TIM_SelectCCDMA

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

例:
/* Selects the TIM2 Capture Compare DMA source */ TIM_SelectCCDMA(TIM2, ENABLE);

1.27 函数TIM_OC1PreloadConfig

函数名TIM_OC1PreloadConfig
函数原形void TIM_OC1PreloadConfig(TIM_TypeDef* TIMx, u16 TIM_OCPreload)
功能描述使能或者失能 TIMx 在 CCR1 上的预装载寄存器
输入参数1TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设
输入参数2TIM_OCPreload:输出比较预装载状态
参阅 Section:TIM_OCPreload 查阅更多该参数允许取值范围
输出参数
返回值
先决条件
被调用函数

TIM_OCPreload 描述

TIM_OCPreload描述
TIM_OCPreload_EnableTIM CCR1 寄存器被预装载
TIM_OCPreload_DisableTIM CCR1 寄存器不被预装载

1.28 TIM_OC2PreloadConfig

函数名TIM_OC2PreloadConfig
函数原形void TIM_OC2PreloadConfig(TIM_TypeDef* TIMx, u16 TIM_OCPreload)
功能描述使能或者失能 TIMx 在 CCR1 上的预装载寄存器
输入参数1TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设
输入参数2TIM_OCPreload:输出比较预装载状态
参阅 Section:TIM_OCPreload 查阅更多该参数允许取值范围
输出参数
返回值
先决条件
被调用函数

TIM_OCPreload 描述

TIM_OCPreload描述
TIM_OCPreload_EnableTIM CCR1 寄存器被预装载
TIM_OCPreload_DisableTIM CCR1 寄存器不被预装载

例:
/* Enables the TIM2 Preload on CC1 Register */ TIM_OC2PreloadConfig(TIM2, TIM_OCPreload_Enable);

1.29 TIM_OC3PreloadConfig

函数名TIM_OC3PreloadConfig
函数原形void TIM_OC3PreloadConfig(TIM_TypeDef* TIMx, u16 TIM_OCPreload)
功能描述使能或者失能 TIMx 在 CCR1 上的预装载寄存器
输入参数1TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设
输入参数2TIM_OCPreload:输出比较预装载状态
参阅 Section:TIM_OCPreload 查阅更多该参数允许取值范围
输出参数
返回值
先决条件
被调用函数

TIM_OCPreload 描述

TIM_OCPreload描述
TIM_OCPreload_EnableTIM CCR1 寄存器被预装载
TIM_OCPreload_DisableTIM CCR1 寄存器不被预装载

例:
/* Enables the TIM2 Preload on CC1 Register */ TIM_OC3PreloadConfig(TIM2, TIM_OCPreload_Enable);

1.30 TIM_OC4PreloadConfig

函数名TIM_OC4PreloadConfig
函数原形void TIM_OC4PreloadConfig(TIM_TypeDef* TIMx, u16 TIM_OCPreload)
功能描述使能或者失能 TIMx 在 CCR1 上的预装载寄存器
输入参数1TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设
输入参数2TIM_OCPreload:输出比较预装载状态
参阅 Section:TIM_OCPreload 查阅更多该参数允许取值范围
输出参数
返回值
先决条件
被调用函数

TIM_OCPreload 描述

TIM_OCPreload描述
TIM_OCPreload_EnableTIM CCR1 寄存器被预装载
TIM_OCPreload_DisableTIM CCR1 寄存器不被预装载

例:
/* Enables the TIM2 Preload on CC1 Register */ TIM_OC4PreloadConfig(TIM2, TIM_OCPreload_Enable);

1.31 TIM_OC1FastConfig

函数名TIM_OC1FastConfig
函数原形void TIM_OC1FastConfig(TIM_TypeDef* TIMx, u16 TIM_OCFast)
功能描述设置 TIMx 捕获比较 1 快速特征
输入参数1TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设
输入参数2TIM_OCFast:输出比较快速特征状态
参阅 Section:TIM_OCFast 查阅更多该参数允许取值范围
输出参数
返回值
先决条件
被调用函数

TIM_OCFast 描述

TIM_OCFast描述
TIM_OCFast_EnableTIM 捕获比较 1 快速特征使能
TIM_OCFast_DisableTIM 捕获比较 1 快速特征禁用

1.32 TIM_OC2FastConfig

函数名TIM_OC2FastConfig
函数原形void TIM_OC2FastConfig(TIM_TypeDef* TIMx, u16 TIM_OCFast)
功能描述设置 TIMx 捕获比较 1 快速特征
输入参数1TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设
输入参数2TIM_OCFast:输出比较快速特征状态
参阅 Section:TIM_OCFast 查阅更多该参数允许取值范围
输出参数
返回值
先决条件
被调用函数

TIM_OCFast 描述

TIM_OCFast描述
TIM_OCFast_EnableTIM 捕获比较 1 快速特征使能
TIM_OCFast_DisableTIM 捕获比较 1 快速特征禁用

1.33 TIM_OC3FastConfig

函数名TIM_OC3FastConfig
函数原形void TIM_OC3FastConfig(TIM_TypeDef* TIMx, u16 TIM_OCFast)
功能描述设置 TIMx 捕获比较 1 快速特征
输入参数1TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设
输入参数2TIM_OCFast:输出比较快速特征状态
参阅 Section:TIM_OCFast 查阅更多该参数允许取值范围
输出参数
返回值
先决条件
被调用函数

TIM_OCFast 描述

TIM_OCFast描述
TIM_OCFast_EnableTIM 捕获比较 1 快速特征使能
TIM_OCFast_DisableTIM 捕获比较 1 快速特征禁用

例:
/* Use the TIM2 OC3 in fast Mode */ TIM_OC3FastConfig(TIM2, TIM_OCFast_Enable);

1.34 TIM_OC4FastConfig

函数名TIM_OC4FastConfig
函数原形void TIM_OC4FastConfig(TIM_TypeDef* TIMx, u16 TIM_OCFast)
功能描述设置 TIMx 捕获比较 1 快速特征
输入参数1TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设
输入参数2TIM_OCFast:输出比较快速特征状态
参阅 Section:TIM_OCFast 查阅更多该参数允许取值范围
输出参数
返回值
先决条件
被调用函数

TIM_OCFast 描述

TIM_OCFast描述
TIM_OCFast_EnableTIM 捕获比较 1 快速特征使能
TIM_OCFast_DisableTIM 捕获比较 1 快速特征禁用

例:
/* Use the TIM2 OC4 in fast Mode */
TIM_OC4FastConfig(TIM2, TIM_OCFast_Enable);

1.35 TIM_ClearOC1Ref

函数名TIM_ClearOC1Ref
函数原形void TIM_ClearOC1Ref(TIM_TypeDef* TIMx, u16 TIM_OCClear)
功能描述在一个外部事件时清除或者保持 OCREF1 信号
输入参数1TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设
输入参数2TIM_OCClear:输出比较清除使能位状态
参阅 Section:TIM_OCClear 查阅更多该参数允许取值范围
输出参数
返回值
先决条件
被调用函数

TIM_OCClear 描述

TIM_OCClear描述
TIM_OCClear_Enable外部事件时清除 OCREF1 信号
TIM_OCClear_Disable外部事件时保持 OCREF1 信号

例:
/* Enable the TIM2 Channel1 Ouput Compare Refence clear bit */ TIM_ClearOC1Ref(TIM2, TIM_OCClear_Enable);

1.36 TIM_ClearOC2Ref

函数名TIM_ClearOC2Ref
函数原形void TIM_ClearOC2Ref(TIM_TypeDef* TIMx, u16 TIM_OCClear)
功能描述在一个外部事件时清除或者保持 OCREF1 信号
输入参数1TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设
输入参数2TIM_OCClear:输出比较清除使能位状态
参阅 Section:TIM_OCClear 查阅更多该参数允许取值范围
输出参数
返回值
先决条件
被调用函数

1.37 TIM_ClearOC3Ref

函数名TIM_ClearOC3Ref
函数原形void TIM_ClearOC3Ref(TIM_TypeDef* TIMx, u16 TIM_OCClear)
功能描述在一个外部事件时清除或者保持 OCREF1 信号
输入参数1TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设
输入参数2TIM_OCClear:输出比较清除使能位状态
参阅 Section:TIM_OCClear 查阅更多该参数允许取值范围
输出参数
返回值
先决条件
被调用函数

1.38 TIM_ClearOC4Ref

函数名TIM_ClearOC4Ref
函数原形void TIM_ClearOC4Ref(TIM_TypeDef* TIMx, u16 TIM_OCClear)
功能描述在一个外部事件时清除或者保持 OCREF1 信号
输入参数1TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设
输入参数2TIM_OCClear:输出比较清除使能位状态
参阅 Section:TIM_OCClear 查阅更多该参数允许取值范围
输出参数
返回值
先决条件
被调用函数

该文档修改记录:

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

总结

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

帮我转换成HAL void TIM2_PWM_Output(float Duty , uint32_t Frequency) { TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_OCInitTypeDef TIM_OCInitStructure; NVIC_InitTypeDef NVIC_InitStructure; GPIO_InitTypeDef GPIO_InitStructure; RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); /* GPIOA clock enable */ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_AFIO ,ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2 ; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, &GPIO_InitStructure); NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 2; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); /* Time base configuration */ TIM_TimeBaseStructure.TIM_Period = (1000000/Frequency)-1; //ARR = (TIM3 counter clock /Frequency)-1 TIM_TimeBaseStructure.TIM_Prescaler = 71; TIM_TimeBaseStructure.TIM_ClockDivision = 0; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure); /* PWM1 Mode configuration: Channel3 */ TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; TIM_OCInitStructure.TIM_Pulse = ((1000000/Frequency)-1)*Duty; TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; TIM_OC3Init(TIM2, &TIM_OCInitStructure); TIM_OC3PreloadConfig(TIM2, TIM_OCPreload_Enable); TIM_ARRPreloadConfig(TIM2, ENABLE); /* TIM3 enable counter */ TIM_Cmd(TIM2, ENABLE); }
07-15
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

常驻客栈

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

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

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

打赏作者

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

抵扣说明:

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

余额充值