20 STM32标准库函数 之 通用定时器(TIM)-- B -- 所有函数的介绍及使用
1 通用定时器(TIM)预览 1.13 TIM_ITRxExternalClockConfig TIM_InputTriggerSource 描述
1.14 TIM_TIxExternalClockConfig TIM_TIxExternalCLKSource 描述 TIM_ICPolarity 描述
1.15 TIM_ETRClockMode1Config TIM_ExtTRGPrescaler 描述 TIM_ExtTRGPolarity 描述
1.16 TIM_ETRClockMode2Config TIM_ExtTRGPrescaler 描述 TIM_ExtTRGPolarity 描述
1.17 函数TIM_ETRConfig TIM_ExtTRGPrescaler 描述 TIM_ExtTRGPolarity 描述
1.18 函数TIM_SelectInputTrigger TIM_InputTriggerSource 描述
1.19 函数 TIM_PrescalerConfig
1.20 函数TIM_CounterModeConfig
1.21 函数TIM_ForcedOC1Config
1.22 函数TIM_ForcedOC2Config 1.23 函数TIM_ForcedOC3Config
1.24 TIM_ForcedOC4Config
该文档修改记录: 总结
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 内部触发为外部时钟模式 输入参数 1 TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设 输入参数 2 TIM_InputTriggerSource:输入触发源 参阅 Section:TIM_InputTriggerSource 查阅更多该参数允许取值范围 输出参数 无 返回值 无 先决条件 无 被调用函数 无
TIM_InputTriggerSource 描述
TIM_InputTriggerSource 描述 TIM_TS_ITR0 TIM 输入触发 0 TIM_TS_ITR1 TIM 输入触发 1 TIM_TS_ITR2 TIM 输入触发 2 TIM_TS_ITR3 TIM 输入触发 3 TIM_TS_TI1F_ED TI1 检测到下降/上升沿触发 TIM_TS_TI1FP1 TI1 触发输入 1 TIM_TS_TI2FP2 TI2 触发输入 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 触发为外部时钟 输入参数 1 TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设 输入参数 2 TIM_TIxExternalCLKSource:触发源 参阅 Section:TIM_TIxExternalCLKSource 查阅更多该参数允许取值范围 输入参数 3 TIM_ICPolarity:指定的TI 极性 参阅 Section:TIM_ICPolarity 查阅更多该参数允许取值范围 输入参数 4 ICFilter:指定的输入比较滤波器。该参数取值在 0x0 和 0xF 之间。 输出参数 无 返回值 无 先决条件 无 被调用函数 无
TIM_TIxExternalCLKSource 描述
TIM_TIxExternalCLKSource 描述 TIM_TIxExternalCLK1 TIM 外部时钟 1 TIM_TIxExternalCLK2 TIM 外部时钟 2 TIM_TIxExternalCLK3 TIM 外部时钟 3
TIM_ICPolarity 描述
TIM_ICPolarity 描述 TIM_ICPolarity_Rising TI 输入捕获上升沿 TIM_ICPolarity_Falling TI 输入捕获下降沿
例: /* 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 输入参数 1 TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设 输入参数 2 TIM_ExtTRGPrescaler:外部触发预分频 参阅 Section:TIM_ExtTRGPrescaler 查阅更多该参数允许取值范围 输入参数 3 TIM_ExtTRGPolarity:外部时钟极性 参阅 Section:TIM_ExtTRGPolarity 查阅更多该参数允许取值范围 输入参数 4 ExtTRGFilter:外部触发滤波器。该参数取值在 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 输入参数1 TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设 输入参数2 TIM_ExtTRGPrescaler:外部触发预分频 参阅 Section:TIM_ExtTRGPrescaler 查阅更多该参数允许取值范围 输入参数3 TIM_ExtTRGPolarity:外部时钟极性 参阅 Section:TIM_ExtTRGPolarity 查阅更多该参数允许取值范围 输入参数4 ExtTRGFilter:外部触发滤波器。该参数取值在 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 外部触发 输入参数1 TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设 输入参数2 TIM_ExtTRGPrescaler:外部触发预分频 参阅 Section:TIM_ExtTRGPrescaler 查阅更多该参数允许取值范围 输入参数3 TIM_ExtTRGPolarity:外部时钟极性 参阅 Section:TIM_ExtTRGPolarity 查阅更多该参数允许取值范围 输入参数4 ExtTRGFilter:外部触发滤波器。该参数取值在 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 输入触发源 输入参数1 TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设 输入参数2 TIM_InputTriggerSource:输入触发源 参阅 Section:TIM_InputTriggerSource 查阅更多该参数允许取值范围 输出参数 无 返回值 无 先决条件 无 被调用函数 无
TIM_InputTriggerSource 描述
TIM_InputTriggerSource 描述 TIM_TS_ITR0 TIM 输入触发来自 ITR0 TIM_TS_ITR1 TIM 输入触发来自 ITR1 TIM_TS_ITR2 TIM 输入触发来自 ITR2 TIM_TS_ITR3 TIM 输入触发来自 ITR3 TIM_TS_TI1F_ED TIM 输入触发来自 TI1 触发边沿 TIM_TS_TI1FP1 TIM 输入触发来自 TI1 触发和 TI1 通道捕获 1 的 XOR TIM_TS_TI2FP2 TIM 输入触发来自 TI2 触发和 TI2 通道捕获 2 的 XOR TIM_TS_ETRF TIM 输入触发来自外部触发信号
例: /* 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 预分频 输入参数1 TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设 输入参数2 Prescaler:预分频值 输入参数3 TIM_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 计数器模式 输入参数1 TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设 输入参数2 TIM_CounterMode:待使用的计数器模式 参阅 Section:TIM_CounterMode 查阅更多该参数允许取值范围 输出参数 无 返回值 无 先决条件 无 被调用函数 无
TIM_CounterMode 描述
TIM_CounterMode 描述 TIM_CounterMode_Up TIM 向上计数模式 TIM_CounterMode_Down TIM 向下计数模式 TIM_CounterMode_CenterAligned1 TIM 中央对齐模式 1 计数模式 TIM_CounterMode_CenterAligned2 TIM 中央对齐模式 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 为活动或者非活动电平 输入参数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 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 为活动或者非活动电平 输入参数1 TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设 输入参数2 TIM_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 为活动或者非活动电平 输入参数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 4 signal to the active level */ TIM_ForcedOC4Config(TIM2, TIM_ForcedAction_Active);
该文档修改记录:
修改时间 修改说明 2024年3月28日 第一次发布,介绍了20 STM32标准库函数 之 通用定时器(TIM)-- B – 所有函数的介绍及使用
总结
以上就是 20 STM32标准库函数 之 通用定时器(TIM)-- B – 所有函数的介绍及使用的内容。 有不明白的地方欢迎留言;有建议欢迎留言,我后面编写文档好改进。 创作不容,如果文档对您有帮助,记得给个赞。