以下是定时器的基本功能,个人能力有限,有的可能讲不出来,以后再补充。
定时器的基本功能:
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 |