22 STM32标准库函数 之 通用定时器(TIM)-- D -- 所有函数的介绍及使用
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.39 TIM_UpdateDisableConfig
函数名 | TIM_UpdateDisableConfig |
---|
函数原形 | void TIM_UpdateDisableConfig(TIM_TypeDef* TIMx, FunctionalState Newstate) |
功能描述 | 使能或者失能 TIMx 更新事件 |
输入参数1 | TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设 |
输入参数2 | NewState:TIMx_CR1 寄存器 UDIS 位的新状态 |
| 这个参数可以取:ENABLE 或者 DISABLE |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
例:
/* Enables the Update event for TIM2 */ TIM_UpdateDisableConfig(TIM2, DISABLE);
1.40 TIM_EncoderInterfaceConfig
函数名 | TIM_EncoderInterfaceConfig |
---|
函数原形 | void TIM_EncoderInterfaceConfig(TIM_TypeDef* TIMx, u8 TIM_EncoderMode, u8 TIM_IC1Polarity, u8 TIM_IC2Polarity) |
功能描述 | 设置 TIMx 编码界面 |
输入参数1 | TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设 |
输入参数2 | TIM_EncoderMode:编码器模式 |
| 参阅 Section:TIM_EncoderMode 查阅更多该参数允许取值范围 |
输入参数3 | TIM_IC1Polarity:TI1 极性 |
| 参阅 Section:TIM_ICPolarity 查阅更多该参数允许取值范围 |
输入参数4 | TIM_IC2Polarity:TI2 极性 |
| 参阅 Section:TIM_ICPolarity 查阅更多该参数允许取值范围 |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
TIM_EncoderMode 值
TIM_EncoderMode | 描述 |
---|
TIM_EncoderMode_TI1 | TI1 编码器模式 1 |
TIM_EncoderMode_TI2 | TI2 编码器模式 2 |
TIM_EncoderMode_TI12 | TI1 和 TI2 编码器模式 |
1.41 TIM_GenerateEvent
函数名 | TIM_GenerateEvent |
---|
函数原形 | void TIM_GenerateEvent(TIM_TypeDef* TIMx, u16 TIM_EventSource) |
功能描述 | 设置 TIMx 事件由软件产生 |
输入参数1 | TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设 |
输入参数2 | TIM_EventSource:TIM 软件事件源 |
| 参阅 Section:TIM_EventSource 查阅更多该参数允许取值范围 |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
例: | |
/* Selects the Trigger software Event generation for TIM2 */ TIM_GenerateEvent(TIM2, TIM_EventSource_Trigger); | |
1.42 TIM_OC1PolarityConfig
函数名 | TIM_OC1PolarityConfig |
---|
函数原形 | void TIM_OC1PolarityConfig(TIM_TypeDef* TIMx, u16 TIM_OCPolarity) |
功能描述 | 设置 TIMx 通道 1 极性 |
输入参数1 | TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设 |
输入参数2 | TIM_OCPolarity:输出比较极性 |
| 参阅 Section:TIM_OCPolarity 查阅更多该参数允许取值范围 |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
例:
/* Selects the Polarity high for TIM2 channel 1 output compare */ TIM_OC1PolarityConfig(TIM2, TIM_OCPolarity_High);
1.43 TIM_OC2PolarityConfig
函数名 | TIM_OC2PolarityConfig |
---|
函数原形 | void TIM_OC2PolarityConfig(TIM_TypeDef* TIMx, u16 TIM_OCPolarity) |
功能描述 | 设置 TIMx 通道 2 极性 |
输入参数1 | TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设 |
输入参数2 | TIM_OCPolarity:输出比较极性 |
| 参阅 Section:TIM_OCPolarity 查阅更多该参数允许取值范围 |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
例:
/* Selects the Polarity high for TIM2 channel 3 output compare */ TIM_OC1PolarityConfig(TIM2, TIM_OCPolarity_High);
1.44 TIM_OC3PolarityConfig
函数名 | TIM_OC3PolarityConfig |
---|
函数原形 | void TIM_OC3PolarityConfig(TIM_TypeDef* TIMx, u16 TIM_OCPolarity) |
功能描述 | 设置 TIMx 通道 2 极性 |
输入参数1 | TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设 |
输入参数2 | TIM_OCPolarity:输出比较极性 |
| 参阅 Section:TIM_OCPolarity 查阅更多该参数允许取值范围 |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
例:
/* Selects the Polarity high for TIM2 channel 3 output compare */ TIM_OC3PolarityConfig(TIM2, TIM_OCPolarity_High);
1.45 TIM_OC4PolarityConfig
函数名 | TIM_OC4PolarityConfig |
---|
函数原形 | void TIM_OC4PolarityConfig(TIM_TypeDef* TIMx, u16 TIM_OCPolarity) |
功能描述 | 设置 TIMx 通道 2 极性 |
输入参数1 | TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设 |
输入参数2 | TIM_OCPolarity:输出比较极性 |
| 参阅 Section:TIM_OCPolarity 查阅更多该参数允许取值范围 |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
例:
/* Selects the Polarity high for TIM2 channel 4output compare */ TIM_OC4PolarityConfig(TIM2, TIM_OCPolarity_High);
1.46 TIM_UpdateRequestConfig
函数名 | TIM_UpdateRequestConfig |
---|
函数原形 | void TIM_UpdateRequestConfig(TIM_TypeDef* TIMx, u16 TIM_UpdateSource) |
功能描述 | 设置 TIMx 更新请求源 |
输入参数1 | TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设 |
输入参数2 | TIM_UpdateSource:TIM 更新请求源 |
| 参阅 Section:TIM_UpdateSource 查阅更多该参数允许取值范围 |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
例:
/* Selects the regular update source for TIM2 */ TIM_UpdateRequestConfig(TIM2, TIM_UpdateSource_Regular);
1.47 TIM_SelectHallSensor
函数名 | TIM_SelectHallSensor |
---|
函数原形 | void TIM_SelectHallSensor(TIM_TypeDef* TIMx, FunctionalState Newstate) |
功能描述 | 使能或者失能 TIMx 霍尔传感器接口 |
输入参数1 | TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设 |
输入参数2 | NewState:TIMx 霍尔传感器接口的新状态 |
| 这个参数可以取:ENABLE 或者 DISABLE |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
例:
/* Selects the Hall Sensor Interface for TIM2 */ TIM_SelectHallSensor(TIM2, ENABLE);
1.48 TIM_SelectOnePulseMode
函数名 | TIM_SelectOnePulseMode |
---|
函数原形 | void TIM_SelectOnePulseMode(TIM_TypeDef* TIMx, u16 TIM_OPMode) |
功能描述 | 设置 TIMx 单脉冲模式 |
输入参数1 | TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设 |
输入参数2 | TIM_OPMode:OPM 模式 |
| 参阅 Section:TIM_OPMode 查阅更多该参数允许取值范围 |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
例:
/* Selects the Single One Pulse Mode for TIM2 */ TIM_SelectOnePulseMode(TIM2, TIM_OPMode_Single);
1.49 TIM_SelectOutputTrigger
函数名 | TIM_SelectOutputTrigger |
---|
函数原形 | void TIM_SelectOutputTrigger(TIM_TypeDef* TIMx, u16 TIM_TRGOSource) |
功能描述 | 选择 TIMx 触发输出模式 |
输入参数1 | TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设 |
输入参数2 | TIM_TRGOSource:触发输出模式 |
| 参阅 Section:TIM_TRGOSource 查阅更多该参数允许取值范围 |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
TIM_TRGOSource | 描述 |
---|
TIM_TRGOSource_Reset | 使用寄存器 TIM_EGR 的 UG 位作为触发输出(TRGO) |
TIM_TRGOSource_Enable | 使用计数器使能 CEN 作为触发输出(TRGO) |
TIM_TRGOSource_Update | 使用更新事件作为触发输出(TRGO) |
TIM_TRGOSource_OC1 | 一旦捕获或者比较匹配发生,当标志位 CC1F 被设置时触发输出发送一个肯定脉冲(TRGO) |
TIM_TRGOSource_OC1Ref | 使用 OC1REF 作为触发输出(TRGO) |
TIM_TRGOSource_OC2Ref | 使用 OC2REF 作为触发输出(TRGO) |
TIM_TRGOSource_OC3Ref | 使用 OC3REF 作为触发输出(TRGO) |
TIM_TRGOSource_OC4Ref | 使用 OC4REF 作为触发输出(TRGO) |
例:
/* Selects the update event as Trigger Output for TIM2 */ TIM_SelectOutputTrigger(TIM2, TIM_TRGOSource_Update);
1.50 TIM_SelectSlaveMode
函数名 | TIM_SelectSlaveMode |
---|
函数原形 | void TIM_SelectSlaveMode(TIM_TypeDef* TIMx, u16 TIM_SlaveMode) |
功能描述 | 选择 TIMx 从模式 |
输入参数1 | TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设 |
输入参数2 | TIM_SlaveMode:TIM 从模式 |
| 参阅 Section:TIM_SlaveMode 查阅更多该参数允许取值范围 |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
TIM_SlaveMode | 描述 |
---|
TIM_SlaveMode_Reset | 选中触发信号(TRGI)的上升沿重初始化计数器并触发寄存器的更新 |
TIM_SlaveMode_Gated | 当触发信号(TRGI)为高电平计数器时钟使能 |
TIM_SlaveMode_Trigger | 计数器在触发(TRGI)的上升沿开始 |
TIM_SlaveMode_External1 | 选中触发(TRGI)的上升沿作为计数器时钟 |
例: | |
/ | |
- Selects the Gated Mode as Slave Mode for TIM2 */ TIM_SelectSlaveMode(TIM2, TIM_SlaveMode_Gated);
1.51 函数TIM_SelectMasterSlaveMode
函数名 | TIM_SelectMasterSlaveMode |
---|
函数原形 | void TIM_SelectMasterSlaveMode(TIM_TypeDef* TIMx, u16 TIM_MasterSlaveMode) |
功能描述 | 设置或者重置 TIMx 主/从模式 |
输入参数 1 | TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设 |
输入参数 2 | TIM_MasterSlaveMode:定时器主/从模式 |
| 参阅 Section:TIM_MasterSlaveMode 查阅更多该参数允许取值范围 |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
例:
/* Enables the Master Slave Mode for TIM2 */ TIM_SelectMasterSlaveMode(TIM2, TIM_MasterSlaveMode_Enable);
1.52 TIM_SetCounter
函数名 | TIM_SetCounter |
---|
函数原形 | void TIM_SetCounter(TIM_TypeDef* TIMx, u16 Counter) |
功能描述 | 设置 TIMx 计数器寄存器值 |
输入参数 1 | TIMx:x 可以是 2,3 或者 4,来选择 TIM 外设 |
输入参数 2 | Counter:计数器寄存器新值 |
输出参数 | 无 |
返回值 | 无 |
先决条件 | 无 |
被调用函数 | 无 |
例:
/* Sets the TIM2 new Counter value */ u16 TIMCounter = 0xFFFF; TIM_SetCounter(TIM2, TIMCounter);
该文档修改记录:
修改时间 | 修改说明 |
---|
2024年3月23日 | 第一次发布,介绍了22 STM32标准库函数 之 通用定时器(TIM)-- D – 所有函数的介绍及使用 |
总结
以上就是 21 STM32标准库函数 之 通用定时器(TIM)-- D – 所有函数的介绍及使用的内容。
有不明白的地方欢迎留言;有建议欢迎留言,我后面编写文档好改进。
创作不容,如果文档对您有帮助,记得给个赞。