资讯详情

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

 

标签: hal880传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台