导图社区 F103HAL库TIM函数说明
STM32F103 HAL库TIM函数速查,F103HAL库中的TIM(定时器)函数是用于配置和控制STM32F103系列微控制器中的定时器硬件的。这些函数提供了初始化定时器、配置PWM(脉宽调制)输出、启动和停止定时器等功能。
编辑于2025-02-01 11:45:40F103HAL库TIM函数说明
TIMER通用特性
TIMER特性包括
16位向上,向下,向上/向下自动重装载计数器
16位可编程预分频器
允许(也可在飞行中)将计数器时钟频率除以任何介于1和65536之间的因素
最多4个独立通道用于
输入捕获
输出比较
PWM生成(边沿和中心对齐模式)
One-pulse模式输出
同步电路,用于使用外部信号控制定时器并与多个定时器互连
支持增量编码器,用于定位目的
说明
如何使用
通过实现以下取决于所选功能的函数,初始化TIM低层资源
时基
HAL_TIM_Base_MspInit()
输入捕获
HAL_TIM_IC_MspInit()
输出比较
HAL_TIM_OC_MspInit()
PWM生成
HAL_TIM_PWM_MspInit()
One-pulse模式输出
HAL_TIM_OnePulse_MspInit()
编码器模式输出
HAL_TIM_Encoder_MspInit()
初始化TIM低层资源
使用__HAL_RCC_TIMx_CLK_ENABLE()启用TIM接口时钟
TIM引脚配置
使用以下函数为TIM GPIOs启用时钟
__HAL_RCC_GPIOx_CLK_ENABLE()
使用HAL_GPIO_Init()将这些TIM引脚配置为备用功能模式
如果需要,可以配置外部时钟(默认时钟来自APBx的内部时钟)
使用以下函数
HAL_TIM_ConfigClockSource
时钟配置应在任何启动函数之前完成
使用此驱动程序的其中一个初始化函数将TIM配置为所需的运作模式
HAL_TIM_Base_Init
使用Timer生成一个简单的时间基
HAL_TIM_OC_Init和HAL_TIM_OC_ConfigChannel
使用Timer生成一个输出比较信号
HAL_TIM_PWM_Init和HAL_TIM_PWM_ConfigChannel
使用Timer生成一个PWM信号
HAL_TIM_IC_Init和HAL_TIM_IC_ConfigChannel
使用Timer测量外部信号
HAL_TIM_OnePulse_Init和HAL_TIM_OnePulse_ConfigChannel
在One-pulse模式下使用Timer
HAL_TIM_Encoder_Init
使用Timer编码器接口
根据使用的功能,使用其中一个启动函数启用TIM外设
时基
HAL_TIM_Base_Start(),HAL_TIM_Base_Start_DMA(),HAL_TIM_Base_Start_IT()
输入捕获
HAL_TIM_IC_Start(),HAL_TIM_IC_Start_DMA(),HAL_TIM_IC_Start_IT()
输出比较
HAL_TIM_OC_Start(),HAL_TIM_OC_Start_DMA(),HAL_TIM_OC_Start_IT()
PWM生成
HAL_TIM_PWM_Start(),HAL_TIM_PWM_Start_DMA(),HAL_TIM_PWM_Start_IT()
One-pulse模式输出
HAL_TIM_OnePulse_Start(),HAL_TIM_OnePulse_Start_IT()
编码器模式输出
HAL_TIM_Encoder_Start(),HAL_TIM_Encoder_Start_DMA(),HAL_TIM_Encoder_Start_IT()
使用以下两个函数管理DMA突发传输
HAL_TIM_DMABurst_WriteStart()
HAL_TIM_DMABurst_ReadStart()
回调注册
定义编译USE_HAL_TIM_REGISTER_CALLBACKS为1时,允许用户动态配置驱动程序回调
使用函数HAL_TIM_RegisterCallback()注册回调
HAL_TIM_RegisterCallback()将HAL外设句柄,回调ID和用户回调函数指针作为参数
使用函数HAL_TIM_UnRegisterCallback()将回调重置为默认弱函数
HAL_TIM_UnRegisterCallback将HAL外设句柄和回调ID作为参数
这些函数允许注册/注销以下回调
初始化
Base_MspInitCallback
TIM基Msp初始化回调。
Base_MspDeInitCallback
TIM基Msp去初始化回调。
IC_MspInitCallback
TIM IC Msp初始化回调。
IC_MspDeInitCallback
TIM IC Msp去初始化回调。
OC_MspInitCallback
TIM OC Msp初始化回调。
OC_MspDeInitCallback
TIM OC Msp去初始化回调。
PWM_MspInitCallback
TIM PWM Msp初始化回调。
PWM_MspDeInitCallback
TIM PWM Msp去初始化回调。
OnePulse_MspInitCallback
TIM单脉冲Msp初始化回调。
OnePulse_MspDeInitCallback
TIM单脉冲Msp去初始化回调。
Encoder_MspInitCallback
TIM编码器Msp初始化回调。
Encoder_MspDeInitCallback
TIM编码器Msp去初始化回调。
HallSensor_MspInitCallback
TIM Hall传感器Msp初始化回调。
HallSensor_MspDeInitCallback
TIM Hall传感器Msp去初始化回调。
PeriodElapsedCallback
TIM周期过期回调。
PeriodElapsedHalfCpltCallback
TIM周期过期半完成回调。
TriggerCallback
TIM触发回调。
TriggerHalfCpltCallback
TIM触发半完成回调。
IC_CaptureCallback
TIM输入捕获回调。
IC_CaptureHalfCpltCallback
TIM输入捕获半完成回调。
OC_DelayElapsedCallback
TIM输出比较延迟过期回调。
PWM_PulseFinishedCallback
TIM PWM脉冲完成回调。
PWM_PulseFinishedHalfCpltCallback
TIM PWM脉冲完成半完成回调。
ErrorCallback
TIM错误回调。
CommutationCallback
TIM换向回调。
CommutationHalfCpltCallback
TIM换半完成回调。
BreakCallback
TIM断点回调。
默认情况下,在初始化后,当状态为HAL_TIM_STATE_RESET时,所有中断回调函数都被设置为相应的弱函数
例如
HAL_TIM_TriggerCallback()、HAL_TIM_ErrorCallback()等
例外情况是MspInit和MspDeInit函数
它们在Init / DeInit中仅当这些回调为空(之前未注册)时才被重置为旧的弱功能
置为旧的弱功能。如果非空(在此之前已注册),则Init / DeInit保留并使用用户定义的MspInit / MspDeInit回调(在此之前已注册)
回调函数只能在HAL_TIM_STATE_READY状态下注册/注销
例外情况是MspInit / MspDeInit
它们可以在HAL_TIM_STATE_READY或HAL_TIM_STATE_RESET状态下注册/注销
因此已注册(用户定义的)MspInit / MspDeInit回调可在Init / DeInit期间使用
在这种情况下
首先在使用HAL_TIM_RegisterCallback()之前注册MspInit/ MspDeInit用户回调
然后调用DeInit或Init函数
当编译定义USE_HAL_TIM_REGISTER_CALLBACKS设置为0或不定义时
不支持回调注册功能,所有回调都被设置为相应的弱函数
函数
时基函数
初始化和配置时基
HAL_StatusTypeDef HAL_TIM_Base_Init(TIM_HandleTypeDef *htim)
说明
按照TIM_HandleTypeDef中的指定参数初始化TIM时基单元,并初始化相关句柄
从中心对齐计数器模式切换到边缘计数器模式(或反之)需要计时器复位,以避免由于中心对齐模式下DIR位只读而导致的意外方向
例如
在调用HAL_TIM_Base_Init()之前调用@ref HAL_TIM_Base_DeInit()
参数
htim
TIM基句柄
返回值
HAL状态
__weak void HAL_TIM_Base_MspInit(TIM_HandleTypeDef *htim)
说明
初始化TIM基MSP
参数
htim
TIM基句柄
返回值
HAL状态
取消初始化时基
HAL_StatusTypeDef HAL_TIM_Base_DeInit(TIM_HandleTypeDef *htim)
说明
取消初始化TIM基外围设备
参数
htim
TIM基句柄
返回值
HAL状态
__weak void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef *htim)
说明
反初始化TIM基MSP
参数
htim
TIM基句柄
返回值
HAL状态
启动时基
HAL_StatusTypeDef HAL_TIM_Base_Start(TIM_HandleTypeDef *htim)
说明
启动TIM时基生成
参数
htim
TIM基句柄
返回值
HAL状态
停止时基
HAL_StatusTypeDef HAL_TIM_Base_Stop(TIM_HandleTypeDef *htim)
说明
停止TIM时基生成
参数
htim
TIM基句柄
返回值
HAL状态
启动时基并启用中断
HAL_StatusTypeDef HAL_TIM_Base_Start_IT(TIM_HandleTypeDef *htim)
说明
在中断模式下启动TIM时基生成
参数
htim
TIM基句柄
返回值
HAL状态
停止时基并禁用中断
HAL_StatusTypeDef HAL_TIM_Base_Stop_IT(TIM_HandleTypeDef *htim)
说明
停止时基生成并禁用中断
参数
htim
TIM基句柄
返回值
HAL状态
启动时基并启用DMA传输
HAL_StatusTypeDef HAL_TIM_Base_Start_DMA(TIM_HandleTypeDef *htim, const uint32_t *pData, uint16_t Length)
说明
在DMA模式下启动TIM时基生成
参数
htim
TIM基句柄
pData
源缓冲区地址
Length
从内存到外设的数据传输长度
返回值
HAL状态
停止时基并禁用DMA传输
HAL_StatusTypeDef HAL_TIM_Base_Stop_DMA(TIM_HandleTypeDef *htim)
说明
在DMA模式下停止TIM时基生成
参数
htim
TIM基句柄
返回值
返回值
HAL状态
比较输出函数
初始化和配置TIM比较输出
HAL_StatusTypeDef HAL_TIM_OC_Init(TIM_HandleTypeDef *htim)
说明
根据TIM_HandleTypeDef中的指定参数初始化TIM输出比较,并初始化相关处理程序
从中心对齐计数器模式切换到边缘计数器模式(或反之)需要计时器重置,以避免由于中心对齐模式下DIR位只读而导致的意外方向
例如
在调用HAL_TIM_OC_Init()之前调用@ref HAL_TIM_OC_DeInit()
参数
htim
TIM输出比较句柄
返回值
返回值
HAL状态
__weak void HAL_TIM_OC_MspInit(TIM_HandleTypeDef *htim)
说明
初始化TIM输出比较的MSP
参数
htim
TIM输出比较句柄
取消初始化TIM比较输出
HAL_StatusTypeDef HAL_TIM_OC_DeInit(TIM_HandleTypeDef *htim)
说明
取消初始化TIM外设
参数
htim
TIM输出比较句柄
返回值
返回值
HAL状态
__weak void HAL_TIM_OC_MspDeInit(TIM_HandleTypeDef *htim)
说明
取消初始化TIM输出比较的MSP
参数
htim
TIM输出比较句柄
启动TIM比较输出
HAL_StatusTypeDef HAL_TIM_OC_Start(TIM_HandleTypeDef *htim, uint32_t Channel)
说明
启动TIM输出比较信号生成
参数
htim
TIM输出比较句柄
Channel
要启用的TIM通道
这个参数可以是以下值之一
TIM_CHANNEL_1: 选择TIM通道1
TIM_CHANNEL_2: 选择TIM通道2
TIM_CHANNEL_3: 选择TIM通道3
TIM_CHANNEL_4: 选择TIM通道4
返回值
返回值
HAL状态
停止TIM比较输出
HAL_StatusTypeDef HAL_TIM_OC_Stop(TIM_HandleTypeDef *htim, uint32_t Channel)
说明
停止TIM输出比较信号生成
参数
htim
TIM输出比较句柄
Channel
要启用的TIM通道
这个参数可以是以下值之一
TIM_CHANNEL_1: 选择TIM通道1
TIM_CHANNEL_2: 选择TIM通道2
TIM_CHANNEL_3: 选择TIM通道3
TIM_CHANNEL_4: 选择TIM通道4
返回值
返回值
HAL状态
启动TIM比较输出并启用中断
HAL_StatusTypeDef HAL_TIM_OC_Start_IT(TIM_HandleTypeDef *htim, uint32_t Channel)
说明
在中断模式下启动TIM输出比较信号生成
参数
htim
TIM输出比较句柄
Channel
要启用的TIM通道
这个参数可以是以下值之一
TIM_CHANNEL_1: 选择TIM通道1
TIM_CHANNEL_2: 选择TIM通道2
TIM_CHANNEL_3: 选择TIM通道3
TIM_CHANNEL_4: 选择TIM通道4
返回值
返回值
HAL状态
停止TIM比较输出并禁用中断
HAL_StatusTypeDef HAL_TIM_OC_Stop_IT(TIM_HandleTypeDef *htim, uint32_t Channel)
说明
在中断模式下停止TIM输出比较信号生成
参数
htim
TIM输出比较句柄
Channel
要启用的TIM通道
这个参数可以是以下值之一
TIM_CHANNEL_1: 选择TIM通道1
TIM_CHANNEL_2: 选择TIM通道2
TIM_CHANNEL_3: 选择TIM通道3
TIM_CHANNEL_4: 选择TIM通道4
返回值
返回值
HAL状态
启动TIM比较输出并启用DMA传输
HAL_StatusTypeDef HAL_TIM_OC_Start_DMA(TIM_HandleTypeDef *htim, uint32_t Channel, const uint32_t *pData, uint16_t Length)
说明
在DMA模式下启动TIM输出比较信号生成
参数
htim
TIM输出比较句柄
Channel
要启用的TIM通道
这个参数可以是以下值之一
TIM_CHANNEL_1: 选择TIM通道1
TIM_CHANNEL_2: 选择TIM通道2
TIM_CHANNEL_3: 选择TIM通道3
TIM_CHANNEL_4: 选择TIM通道4
pData
源缓存地址
Length
要从内存传输到TIM外设的数据长度
返回值
返回值
HAL状态
停止TIM比较输出并禁用DMA传输
HAL_StatusTypeDef HAL_TIM_OC_Stop_DMA(TIM_HandleTypeDef *htim, uint32_t Channel)
说明
在DMA模式下停止TIM输出比较信号生成
参数
htim
TIM输出比较句柄
Channel
要启用的TIM通道
这个参数可以是以下值之一
TIM_CHANNEL_1: 选择TIM通道1
TIM_CHANNEL_2: 选择TIM通道2
TIM_CHANNEL_3: 选择TIM通道3
TIM_CHANNEL_4: 选择TIM通道4
返回值
返回值
HAL状态
PWM函数
初始化和配置TIM PWM
HAL_StatusTypeDef HAL_TIM_PWM_Init(TIM_HandleTypeDef *htim)
说明
根据TIM_HandleTypeDef中指定的参数初始化TIM PWM时间基,并初始化关联的处理程序
从中心对齐计数器模式切换到边缘计数器模式(或反之)需要计时器重置,以避免由于中心对齐模式下DIR位只读而导致的意外方向
例如
在调用HAL_TIM_PWM_Init()之前调用@ref HAL_TIM_PWM_DeInit()
参数
htim
TIM PWM句柄
返回值
HAL状态
__weak void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef *htim)
说明
初始化TIM PWM MSP
参数
htim
TIM PWM句柄
返回值
HAL状态
注销TIM PWM
HAL_StatusTypeDef HAL_TIM_PWM_DeInit(TIM_HandleTypeDef *htim)
说明
反初始化TIM外设
参数
htim
TIM PWM句柄
返回值
HAL状态
__weak void HAL_TIM_PWM_MspDeInit(TIM_HandleTypeDef *htim)
说明
反初始化TIM PWM MSP
参数
htim
TIM PWM句柄
返回值
HAL状态
启动TIM PWM
HAL_StatusTypeDef HAL_TIM_PWM_Start(TIM_HandleTypeDef *htim, uint32_t Channel)
说明
启动PWM信号生成
参数
htim
TIM PWM句柄
Channel
要启用的TIM通道
此参数可以是以下值之一
@arg TIM_CHANNEL_1:选择TIM通道1
@arg TIM_CHANNEL_2:选择TIM通道2
@arg TIM_CHANNEL_3:选择TIM通道3
@arg TIM_CHANNEL_4:选择TIM通道4
返回值
HAL状态
停止TIM PWM
HAL_StatusTypeDef HAL_TIM_PWM_Stop(TIM_HandleTypeDef *htim, uint32_t Channel)
说明
停止PWM信号生成
参数
htim
TIM PWM句柄
Channel
要启用的TIM通道
此参数可以是以下值之一
@arg TIM_CHANNEL_1:选择TIM通道1
@arg TIM_CHANNEL_2:选择TIM通道2
@arg TIM_CHANNEL_3:选择TIM通道3
@arg TIM_CHANNEL_4:选择TIM通道4
返回值
HAL状态
启动TIM PWM并启用中断
HAL_StatusTypeDef HAL_TIM_PWM_Start_IT(TIM_HandleTypeDef *htim, uint32_t Channel)
说明
中断模式下启动PWM信号生成
参数
htim
TIM PWM句柄
Channel
要启用的TIM通道
此参数可以是以下值之一
@arg TIM_CHANNEL_1:选择TIM通道1
@arg TIM_CHANNEL_2:选择TIM通道2
@arg TIM_CHANNEL_3:选择TIM通道3
@arg TIM_CHANNEL_4:选择TIM通道4
返回值
HAL状态
停止TIM PWM并禁用中断
HAL_StatusTypeDef HAL_TIM_PWM_Stop_IT(TIM_HandleTypeDef *htim, uint32_t Channel)
说明
中断模式下停止PWM信号生成
参数
htim
TIM PWM句柄
Channel
要启用的TIM通道
此参数可以是以下值之一
@arg TIM_CHANNEL_1:选择TIM通道1
@arg TIM_CHANNEL_2:选择TIM通道2
@arg TIM_CHANNEL_3:选择TIM通道3
@arg TIM_CHANNEL_4:选择TIM通道4
返回值
HAL状态
启动TIM PWM并启用DMA传输
HAL_StatusTypeDef HAL_TIM_PWM_Start_DMA(TIM_HandleTypeDef *htim, uint32_t Channel, const uint32_t *pData, uint16_t Length)
说明
DMA模式下启动PWM信号生成
参数
htim
TIM PWM句柄
Channel
要启用的TIM通道
此参数可以是以下值之一
@arg TIM_CHANNEL_1:选择TIM通道1
@arg TIM_CHANNEL_2:选择TIM通道2
@arg TIM_CHANNEL_3:选择TIM通道3
@arg TIM_CHANNEL_4:选择TIM通道4
返回值
HAL状态
停止TIM PWM并禁用DMA传输
HAL_StatusTypeDef HAL_TIM_PWM_Stop_DMA(TIM_HandleTypeDef *htim, uint32_t Channel)
说明
DMA模式下停止PWM信号生成
参数
htim
TIM PWM句柄
Channel
要启用的TIM通道
此参数可以是以下值之一
@arg TIM_CHANNEL_1:选择TIM通道1
@arg TIM_CHANNEL_2:选择TIM通道2
@arg TIM_CHANNEL_3:选择TIM通道3
@arg TIM_CHANNEL_4:选择TIM通道4
返回值
HAL状态
输入捕获函数
初始化和配置TIM输入捕获
HAL_StatusTypeDef HAL_TIM_IC_Init(TIM_HandleTypeDef *htim)
说明
根据TIM_HandleTypeDef中指定的参数初始化TIM输入捕获时间基,并初始化关联的处理程序
从中心对齐计数器模式切换到边缘计数器模式(或反之)需要计时器重置,以避免由于中心对齐模式下DIR位只读而导致的意外方向
例如
在调用HAL_TIM_IC_Init()之前调用@ref HAL_TIM_IC_DeInit()
参数
htim
TIM输入捕获句柄
返回值
HAL状态
__weak void HAL_TIM_IC_MspInit(TIM_HandleTypeDef *htim)
说明
初始化TIM输入捕获MSP
参数
htim
TIM输入捕获句柄
注销TIM输入捕获
HAL_StatusTypeDef HAL_TIM_IC_DeInit(TIM_HandleTypeDef *htim)
说明
反初始化TIM输入捕获时间基
参数
htim
TIM输入捕获句柄
返回值
HAL状态
__weak void HAL_TIM_IC_MspDeInit(TIM_HandleTypeDef *htim)
说明
反初始化TIM输入捕获MSP
参数
htim
TIM输入捕获句柄
启动TIM输入捕获
HAL_StatusTypeDef HAL_TIM_IC_Start(TIM_HandleTypeDef *htim, uint32_t Channel)
说明
启动TIM输入捕获测量
参数
htim
TIM输入捕获句柄
Channel
要启用的TIM通道
此参数可以是以下值之一
@arg TIM_CHANNEL_1:选择TIM通道1
@arg TIM_CHANNEL_2:选择TIM通道2
@arg TIM_CHANNEL_3:选择TIM通道3
@arg TIM_CHANNEL_4:选择TIM通道4
返回值
HAL状态
停止TIM输入捕获
HAL_StatusTypeDef HAL_TIM_IC_Stop(TIM_HandleTypeDef *htim, uint32_t Channel)
说明
停止TIM输入捕获测量
参数
htim
TIM输入捕获句柄
Channel
要停止的TIM通道
此参数可以是以下值之一
@arg TIM_CHANNEL_1:选择TIM通道1
@arg TIM_CHANNEL_2:选择TIM通道2
@arg TIM_CHANNEL_3:选择TIM通道3
@arg TIM_CHANNEL_4:选择TIM通道4
返回值
HAL状态
启动TIM输入捕获并启用中断
HAL_StatusTypeDef HAL_TIM_IC_Start_IT(TIM_HandleTypeDef *htim, uint32_t Channel)
说明
在中断模式下启动TIM输入捕获测量
参数
htim
TIM输入捕获句柄
Channel
要启用的TIM通道
此参数可以是以下值之一
@arg TIM_CHANNEL_1:选择TIM通道1
@arg TIM_CHANNEL_2:选择TIM通道2
@arg TIM_CHANNEL_3:选择TIM通道3
@arg TIM_CHANNEL_4:选择TIM通道4
返回值
HAL状态
停止TIM输入捕获并禁用中断
HAL_StatusTypeDef HAL_TIM_IC_Stop_IT(TIM_HandleTypeDef *htim, uint32_t Channel)
说明
在中断模式下停止TIM输入捕获测量
参数
htim
TIM输入捕获句柄
Channel
要停止的TIM通道
此参数可以是以下值之一
@arg TIM_CHANNEL_1:选择TIM通道1
@arg TIM_CHANNEL_2:选择TIM通道2
@arg TIM_CHANNEL_3:选择TIM通道3
@arg TIM_CHANNEL_4:选择TIM通道4
返回值
HAL状态
启动TIM输入捕获并启用DMA传输
HAL_StatusTypeDef HAL_TIM_IC_Start_DMA(TIM_HandleTypeDef *htim, uint32_t Channel, uint32_t *pData, uint16_t Length)
说明
在DMA模式下启动TIM输入捕获测量
参数
htim
TIM输入捕获句柄
Channel
要启用的TIM通道
此参数可以是以下值之一
@arg TIM_CHANNEL_1:选择TIM通道1
@arg TIM_CHANNEL_2:选择TIM通道2
@arg TIM_CHANNEL_3:选择TIM通道3
@arg TIM_CHANNEL_4:选择TIM通道4
pData
The destination Buffer address
Length
The length of data to be transferred from TIM peripheral to memory
返回值
HAL状态
停止TIM输入捕获并禁用DMA传输
HAL_StatusTypeDef HAL_TIM_IC_Stop_DMA(TIM_HandleTypeDef *htim, uint32_t Channel)
说明
在DMA模式下停止TIM输入捕获测量
参数
htim
TIM输入捕获句柄
Channel
要停止的TIM通道
此参数可以是以下值之一
@arg TIM_CHANNEL_1:选择TIM通道1
@arg TIM_CHANNEL_2:选择TIM通道2
@arg TIM_CHANNEL_3:选择TIM通道3
@arg TIM_CHANNEL_4:选择TIM通道4
返回值
HAL状态
One Pulse函数
初始化和配置TIM One Pulse
HAL_StatusTypeDef HAL_TIM_OnePulse_Init(TIM_HandleTypeDef *htim, uint32_t OnePulseMode)
__weak void HAL_TIM_OnePulse_MspInit(TIM_HandleTypeDef *htim)
去初始化TIM One Pulse
HAL_StatusTypeDef HAL_TIM_OnePulse_DeInit(TIM_HandleTypeDef *htim)
__weak void HAL_TIM_OnePulse_MspDeInit(TIM_HandleTypeDef *htim)
启动TIM One Pulse
HAL_StatusTypeDef HAL_TIM_OnePulse_Start(TIM_HandleTypeDef *htim, uint32_t OutputChannel)
停止TIM One Pulse
HAL_StatusTypeDef HAL_TIM_OnePulse_Stop(TIM_HandleTypeDef *htim, uint32_t OutputChannel)
启动TIM One Pulse并启用中断
HAL_StatusTypeDef HAL_TIM_OnePulse_Start_IT(TIM_HandleTypeDef *htim, uint32_t OutputChannel)
停止TIM One Pulse并禁用中断
HAL_StatusTypeDef HAL_TIM_OnePulse_Stop_IT(TIM_HandleTypeDef *htim, uint32_t OutputChannel)
启动TIM One Pulse并启用DMA传输
停止TIM One Pulse并禁用DMA传输
TIM编码器函数
初始化和配置TIM编码器
HAL_StatusTypeDef HAL_TIM_Encoder_Init(TIM_HandleTypeDef *htim, const TIM_Encoder_InitTypeDef *sConfig)
说明
初始化TIM编码器接口并初始化指定的句柄
从中心对齐计数模式切换到边缘计数模式(或反之)需要重置定时器,以避免由于中心对齐模式下DIR位只读而导致的意外方向
例如
在调用@ref HAL_TIM_Encoder_Init()之前调用@ref HAL_TIM_Encoder_DeInit()
编码器和外部时钟模式2不兼容,不能一起选择
例如
对@ref HAL_TIM_Encoder_Init的调用将清除使用TIM_CLOCKSOURCE_ETRMODE2的@ref HAL_TIM_ConfigClockSource的设置,反之亦然
当定时器实例在编码器模式下初始化时,定时器通道1和通道2被保留,不能用于其他目的
参数
htim
TIM编码器接口处理程序
sConfig
TIM编码器接口配置结构
返回值
去初始化TIM编码器
启动TIM编码器
停止TIM编码器
启动TIM编码器并启用中断
停止TIM编码器并禁用中断
启动TIM编码器并启用DMA传输
停止TIM编码器并禁用DMA传输
中断服务句柄
void HAL_TIM_IRQHandler(TIM_HandleTypeDef *htim)
说明
这个函数处理TIM中断请求
参数
htim
TIM句柄
外设控制函数
配置输入输出通道为OC、PWM、IC或单脉冲模式
HAL_StatusTypeDef HAL_TIM_OC_ConfigChannel(TIM_HandleTypeDef *htim, const TIM_OC_InitTypeDef *sConfig, uint32_t Channel)
说明
根据TIM_OC_InitTypeDef中指定的参数初始化TIM输出比较通道
参数
htim
TIM输出比较处理程序
sConfig
TIM输出比较配置结构
Channel
TIM通道进行配置
返回值
配置外部时钟源
配置互补通道、断路功能和死区时间
配置主从同步
配置DMA突发模式