HAL定时器库函数和定时器的解析

 这里大概讲述一下定时器的基本功能,个人能力有限,有些可能讲述不到,以后在补充。

定时器基本功能:

1、定时器功能

        就是基本定时功能,16位的分频器,16位的计数器,可以产生中断,可以定时任意时间。

2、输入捕获功能

        可以检测引脚的脉冲变化,进行控制。

3、输出比较功能

        里面自带比较器,和配置信号进行比较,比较之后,然后在进行输出,这个也可以产生PWM,这个对PWM控制很强,一般情况下驱动舵机和步进电机。

4、PWM输出功能

        就是正常的PWM波的输出,可以控制占空比

5、单脉冲调制功能

        可以一个脉冲一个脉冲的进行输出,对脉冲的控制力度大

6、编码器功能

        主要是针对电机驱动的,可以检测电机的速度

7、霍尔传感器功能

定时器的六种模式:

基本类型(Base)

输出比较(OC)

输入捕获(IC)

pwm(PWM)

单脉冲(One_Pulse)

编码器(Encoder)

定时器基本函数(仅仅定时作用):

/* Time Base functions ********************************************************/

返回值 函数名 参数 作用
HAL_StatusTypeDef HAL_TIM_Base_Init TIM_HandleTypeDef *htim 定时初始化
HAL_StatusTypeDef HAL_TIM_Base_DeInit TIM_HandleTypeDef *htim 引脚初始化之后的引脚恢复成默认的状态
HAL_TIM_Base_MspInit TIM_HandleTypeDef *htim
HAL_TIM_Base_MspDeInit TIM_HandleTypeDef *htim
HAL_StatusTypeDef HAL_TIM_Base_Start TIM_HandleTypeDef *htim
HAL_StatusTypeDef HAL_TIM_Base_Stop TIM_HandleTypeDef *htim
HAL_StatusTypeDef HAL_TIM_Base_Start_IT TIM_HandleTypeDef *htim 启动中断
HAL_StatusTypeDef HAL_TIM_Base_Stop_IT TIM_HandleTypeDef *htim 关闭中断
HAL_StatusTypeDef HAL_TIM_Base_Start_DMA

TIM_HandleTypeDef *htim,

uint32_t *pData, uint16_t Length

HAL_StatusTypeDef HAL_TIM_Base_Stop_DMA TIM_HandleTypeDef *htim

输出比较模式: 

/* Timer Output Compare functions *********************************************/

返回值 函数名 参数 作用
HAL_StatusTypeDef HAL_TIM_OC_Init TIM_HandleTypeDef *htim 输出比较初始化
HAL_StatusTypeDef HAL_TIM_OC_DeInit TIM_HandleTypeDef *htim 引脚初始化之后的引脚恢复成默认的状态
HAL_TIM_OC_MspInit TIM_HandleTypeDef *htim
HAL_TIM_OC_MspDeInit TIM_HandleTypeDef *htim
HAL_StatusTypeDef HAL_TIM_OC_Start

TIM_HandleTypeDef *htim,

uint32_t Channel

HAL_StatusTypeDef HAL_TIM_OC_Stop

TIM_HandleTypeDef *htim,

uint32_t Channel

HAL_StatusTypeDef HAL_TIM_OC_Start_IT

TIM_HandleTypeDef *htim,

uint32_t Channel

启动中断
HAL_StatusTypeDef HAL_TIM_OC_Stop_IT

TIM_HandleTypeDef *htim,

uint32_t Channel

关闭中断
HAL_StatusTypeDef HAL_TIM_OC_Start_DMA

TIM_HandleTypeDef *htim,

uint32_t Channel, uint32_t *pData, uint16_t Length

HAL_StatusTypeDef HAL_TIM_OC_Stop_DMA

TIM_HandleTypeDef *htim,

uint32_t Channel

PWM模式:

/* Timer PWM functions ********************************************************/

返回值 函数名 参数 作用
HAL_StatusTypeDef HAL_TIM_PWM_Init TIM_HandleTypeDef *htim PWM初始化
HAL_StatusTypeDef HAL_TIM_PWM_DeInit TIM_HandleTypeDef *htim 引脚初始化之后的引脚恢复成默认的状态
HAL_TIM_PWM_MspInit TIM_HandleTypeDef *htim
HAL_TIM_PWM_MspDeInit TIM_HandleTypeDef *htim
HAL_StatusTypeDef HAL_TIM_PWM_Start

TIM_HandleTypeDef *htim,

uint32_t Channel

HAL_StatusTypeDef HAL_TIM_PWM_Stop

TIM_HandleTypeDef *htim,

uint32_t Channel

HAL_StatusTypeDef HAL_TIM_PWM_Start_IT

TIM_HandleTypeDef *htim,

uint32_t Channel

启动中断
HAL_StatusTypeDef HAL_TIM_PWM_Stop_IT

TIM_HandleTypeDef *htim,

uint32_t Channel

关闭中断
HAL_StatusTypeDef HAL_TIM_PWM_Start_DMA

TIM_HandleTypeDef *htim,

uint32_t Channel, uint32_t *pData, uint16_t Length

HAL_StatusTypeDef HAL_TIM_PWM_Stop_DMA

TIM_HandleTypeDef *htim,

uint32_t Channel

输入捕获模式: 

/* Timer Input Capture functions **********************************************/ 

返回值 函数名 参数 作用
HAL_StatusTypeDef HAL_TIM_IC_Init TIM_HandleTypeDef *htim 输入捕获初始化
HAL_StatusTypeDef HAL_TIM_IC_DeInit TIM_HandleTypeDef *htim 引脚初始化之后的引脚恢复成默认的状态
HAL_TIM_IC_MspInit TIM_HandleTypeDef *htim
HAL_TIM_IC_MspDeInit TIM_HandleTypeDef *htim
HAL_StatusTypeDef HAL_TIM_IC_Start

TIM_HandleTypeDef *htim,

uint32_t Channel

HAL_StatusTypeDef HAL_TIM_IC_Stop

TIM_HandleTypeDef *htim,

uint32_t Channel

HAL_StatusTypeDef HAL_TIM_IC_Start_IT

TIM_HandleTypeDef *htim,

uint32_t Channel

启动中断
HAL_StatusTypeDef HAL_TIM_IC_Stop_IT

TIM_HandleTypeDef *htim,

uint32_t Channel

关闭中断
HAL_StatusTypeDef HAL_TIM_IC_Start_DMA

TIM_HandleTypeDef *htim,

uint32_t Channel, uint32_t *pData, uint16_t Length

HAL_StatusTypeDef HAL_TIM_IC_Stop_DMA

TIM_HandleTypeDef *htim,

uint32_t Channel

单脉冲模式:

/* Timer One Pulse functions ***************************************************/

返回值 函数名 参数 作用
HAL_StatusTypeDef HAL_TIM_OnePulse_Init TIM_HandleTypeDef *htim,  TIM_Encoder_InitTypeDef *sConfig 单脉冲初始化
HAL_StatusTypeDef HAL_TIM_OnePulse_DeInit TIM_HandleTypeDef *htim 引脚初始化之后的引脚恢复成默认的状态
HAL_TIM_OnePulse_MspInit TIM_HandleTypeDef *htim
HAL_TIM_OnePulse_MspDeInit TIM_HandleTypeDef *htim
HAL_StatusTypeDef HAL_TIM_OnePulse_Start

TIM_HandleTypeDef*htim,

uint32_t OutputChannel

HAL_StatusTypeDef HAL_TIM_OnePulse_Stop

TIM_HandleTypeDef*htim,

uint32_t OutputChannel

HAL_StatusTypeDef HAL_TIM_OnePulse_Start_IT

TIM_HandleTypeDef*htim,

uint32_t OutputChannel

启动中断
HAL_StatusTypeDef HAL_TIM_OnePulse_Stop_IT

TIM_HandleTypeDef*htim,

uint32_t OutputChannel

关闭中断

编码器模式

/* Timer Encoder functions *****************************************************/

返回值 函数名 作用
HAL_StatusTypeDef HAL_TIM_Encoder_Init
HAL_StatusTypeDef HAL_TIM_Encoder_DeInit 引脚初始化之后的引脚恢复成默认的状态
HAL_TIM_Encoder_MspInit
HAL_TIM_Encoder_MspDeInit
HAL_StatusTypeDef HAL_TIM_Encoder_Start
HAL_StatusTypeDef HAL_TIM_Encoder_Stop
HAL_StatusTypeDef HAL_TIM_Encoder_Start_IT 启动中断
HAL_StatusTypeDef HAL_TIM_Encoder_Stop_IT 关闭中断
HAL_StatusTypeDef HAL_TIM_Encoder_Start_DMA
HAL_StatusTypeDef HAL_TIM_Encoder_Stop_DMA

控制函数

/* Control functions  *********************************************************/、

返回值 函数名 作用
HAL_StatusTypeDef HAL_TIM_OC_ConfigChannel
HAL_StatusTypeDef HAL_TIM_PWM_ConfigChannel
HAL_StatusTypeDef HAL_TIM_IC_ConfigChannel
HAL_StatusTypeDef HAL_TIM_OnePulse_ConfigChannel
HAL_StatusTypeDef HAL_TIM_ConfigOCrefClear
HAL_StatusTypeDef HAL_TIM_ConfigClockSource
HAL_StatusTypeDef HAL_TIM_ConfigTI1Input
HAL_StatusTypeDef HAL_TIM_SlaveConfigSynchro
HAL_StatusTypeDef HAL_TIM_SlaveConfigSynchro_IT
HAL_StatusTypeDef HAL_TIM_DMABurst_WriteStart
HAL_StatusTypeDef HAL_TIM_DMABurst_MultiWriteStart
HAL_StatusTypeDef HAL_TIM_DMABurst_WriteStop
HAL_StatusTypeDef HAL_TIM_DMABurst_ReadStart
HAL_StatusTypeDef HAL_TIM_DMABurst_MultiReadStart
HAL_StatusTypeDef HAL_TIM_DMABurst_ReadStop
HAL_StatusTypeDef HAL_TIM_GenerateEvent
uint32_t  HAL_TIM_ReadCapturedValue

回调函数:

/* Callback in non blocking modes (Interrupt and DMA) *************************/

返回值 函数名 作用
HAL_TIM_PeriodElapsedCallback
HAL_TIM_PeriodElapsedHalfCpltCallback
HAL_TIM_OC_DelayElapsedCallback
HAL_TIM_IC_CaptureCallback
HAL_TIM_IC_CaptureHalfCpltCallback
HAL_TIM_PWM_PulseFinishedCallback
HAL_TIM_PWM_PulseFinishedHalfCpltCallback
HAL_TIM_TriggerCallback
HAL_TIM_TriggerHalfCpltCallback
HAL_TIM_ErrorCallback

状态函数

/* Peripheral State functions    获取结构体State里面的各种状态**************************************************/

返回值 函数名 作用
HAL_TIM_StateTypeDef HAL_TIM_Base_GetState
HAL_TIM_StateTypeDef HAL_TIM_OC_GetState
HAL_TIM_StateTypeDef HAL_TIM_PWM_GetState
HAL_TIM_StateTypeDef HAL_TIM_IC_GetState
HAL_TIM_StateTypeDef HAL_TIM_OnePulse_GetState
HAL_TIM_StateTypeDef HAL_TIM_Encoder_GetState

通道状态函数

/* Peripheral Channel state functions  ************************************************/

返回值 函数名 作用
HAL_TIM_ActiveChannel HAL_TIM_GetActiveChannel
HAL_TIM_ChannelStateTypeDef HAL_TIM_GetChannelState
HAL_TIM_DMABurstStateTypeDef HAL_TIM_DMABurstState

猜你喜欢

转载自blog.csdn.net/m0_58832575/article/details/124887742