STM32G474xx HAL用户手册
宏定义
TIM扩展导出宏
TIMEx

宏定义

#define __HAL_TIM_CALC_PSC(__TIMCLK__, __CNTCLK__)   ((__TIMCLK__) >= (__CNTCLK__)) ? (uint32_t)((__TIMCLK__)/(__CNTCLK__) - 1U) : 0U
 辅助宏,用于计算实现所需计数器时钟频率所需的预分频器值。
#define __HAL_TIM_CALC_PERIOD(__TIMCLK__, __PSC__, __FREQ__)   (((__TIMCLK__)/((__PSC__) + 1U)) >= (__FREQ__)) ? ((__TIMCLK__)/((__FREQ__) * ((__PSC__) + 1U)) - 1U) : 0U
 辅助宏,用于计算实现所需输出信号频率所需的自动重装载值。
#define __HAL_TIM_CALC_PERIOD_DITHER(__TIMCLK__, __PSC__, __FREQ__)
 辅助宏,用于计算实现所需输出信号频率所需的自动重装载值(启用抖动功能)。
#define __HAL_TIM_CALC_PULSE(__TIMCLK__, __PSC__, __DELAY__)
 辅助宏,用于计算实现所需定时器输出比较有效/无效延迟所需的比较值。
#define __HAL_TIM_CALC_PULSE_DITHER(__TIMCLK__, __PSC__, __DELAY__)
 辅助宏,用于计算实现所需定时器输出比较有效/无效延迟所需的比较值(启用抖动功能)。
#define __HAL_TIM_CALC_PERIOD_BY_DELAY(__TIMCLK__, __PSC__, __DELAY__, __PULSE__)
 辅助宏,用于计算实现所需脉冲持续时间所需的自动重装载值(定时器工作在单脉冲模式时)。
#define __HAL_TIM_CALC_PERIOD_DITHER_BY_DELAY(__TIMCLK__, __PSC__, __DELAY__, __PULSE__)
 辅助宏,用于计算实现所需脉冲持续时间所需的自动重装载值(启用抖动功能,定时器工作在单脉冲模式时)。

宏定义文档

#define __HAL_TIM_CALC_PERIOD (   __TIMCLK__,
  __PSC__,
  __FREQ__ 
)    (((__TIMCLK__)/((__PSC__) + 1U)) >= (__FREQ__)) ? ((__TIMCLK__)/((__FREQ__) * ((__PSC__) + 1U)) - 1U) : 0U

辅助宏,用于计算实现所需输出信号频率所需的自动重装载值。

注:
例如:__HAL_TIM_CALC_PERIOD(1000000, 0, 10000);
参数:
__TIMCLK__定时器输入时钟频率(单位:Hz)
__PSC__预分频器
__FREQ__输出信号频率(单位:Hz)
返回值:
自动重装载值(取值范围:Min_Data=0到Max_Data=65535)

定义于文件 stm32g4xx_hal_tim_ex.h597行。

#define __HAL_TIM_CALC_PERIOD_BY_DELAY (   __TIMCLK__,
  __PSC__,
  __DELAY__,
  __PULSE__ 
)
值:
((uint32_t)(__HAL_TIM_CALC_PULSE((__TIMCLK__), (__PSC__), (__PULSE__)) \
              + __HAL_TIM_CALC_PULSE((__TIMCLK__), (__PSC__), (__DELAY__))))

辅助宏,用于计算实现所需脉冲持续时间所需的自动重装载值(定时器工作在单脉冲模式时)。

注:
例如:__HAL_TIM_CALC_PERIOD_BY_DELAY(1000000, 0, 10, 20);
参数:
__TIMCLK__定时器输入时钟频率(单位:Hz)
__PSC__预分频器
__DELAY__定时器输出比较有效/无效延迟(单位:μs)
__PULSE__脉冲持续时间(单位:μs)
返回值:
自动重装载值(取值范围:Min_Data=0到Max_Data=65535)

定义于文件 stm32g4xx_hal_tim_ex.h651行。

#define __HAL_TIM_CALC_PERIOD_DITHER (   __TIMCLK__,
  __PSC__,
  __FREQ__ 
)
值:
(((__TIMCLK__)/((__PSC__) + 1U)) >= (__FREQ__)) ? \
  (uint32_t)(((uint64_t)(__TIMCLK__)*16/((__FREQ__) * ((__PSC__) + 1U)) - 16U)) : 0U

辅助宏,用于计算实现所需输出信号频率所需的自动重装载值(启用抖动功能)。

注:
例如:__HAL_TIM_CALC_PERIOD_DITHER(1000000, 0, 10000);
仅当抖动功能已启用时才能使用此宏
参数:
__TIMCLK__定时器输入时钟频率(单位:Hz)
__PSC__预分频器
__FREQ__输出信号频率(单位:Hz)
返回值:
自动重装载值(取值范围:Min_Data=0到Max_Data=65519)

定义于文件 stm32g4xx_hal_tim_ex.h610行。

#define __HAL_TIM_CALC_PERIOD_DITHER_BY_DELAY (   __TIMCLK__,
  __PSC__,
  __DELAY__,
  __PULSE__ 
)
值:
((uint32_t)(__HAL_TIM_CALC_PULSE_DITHER((__TIMCLK__), (__PSC__), (__PULSE__)) \
              + __HAL_TIM_CALC_PULSE_DITHER((__TIMCLK__), (__PSC__), (__DELAY__))))

辅助宏,用于计算实现所需脉冲持续时间所需的自动重装载值(启用抖动功能,定时器工作在单脉冲模式时)。

注:
例如:__HAL_TIM_CALC_PERIOD_DITHER_BY_DELAY(1000000, 0, 10, 20);
仅当抖动功能已启用时才能使用此宏
参数:
__TIMCLK__定时器输入时钟频率(单位:Hz)
__PSC__预分频器
__DELAY__定时器输出比较有效/无效延迟(单位:μs)
__PULSE__脉冲持续时间(单位:μs)
返回值:
自动重装载值(取值范围:Min_Data=0到Max_Data=65519)

定义于文件 stm32g4xx_hal_tim_ex.h666行。

#define __HAL_TIM_CALC_PSC (   __TIMCLK__,
  __CNTCLK__ 
)    ((__TIMCLK__) >= (__CNTCLK__)) ? (uint32_t)((__TIMCLK__)/(__CNTCLK__) - 1U) : 0U

辅助宏,用于计算实现所需计数器时钟频率所需的预分频器值。

注:
例如:__HAL_TIM_CALC_PSC(80000000, 1000000);
参数:
__TIMCLK__定时器输入时钟频率(单位:Hz)
__CNTCLK__计数器时钟频率(单位:Hz)
返回值:
预分频器值(取值范围:Min_Data=0到Max_Data=65535)

定义于文件 stm32g4xx_hal_tim_ex.h586行。

#define __HAL_TIM_CALC_PULSE (   __TIMCLK__,
  __PSC__,
  __DELAY__ 
)
值:
((uint32_t)(((uint64_t)(__TIMCLK__) * (uint64_t)(__DELAY__)) \
              / ((uint64_t)1000000U * (uint64_t)((__PSC__) + 1U))))

辅助宏,用于计算实现所需定时器输出比较有效/无效延迟所需的比较值。

注:
例如:__HAL_TIM_CALC_PULSE(1000000, 0, 10);
参数:
__TIMCLK__定时器输入时钟频率(单位:Hz)
__PSC__预分频器
__DELAY__定时器输出比较有效/无效延迟(单位:μs)
返回值:
比较值(取值范围:Min_Data=0到Max_Data=65535)

定义于文件 stm32g4xx_hal_tim_ex.h623行。

</
#define __HAL_TIM_CALC_PULSE_DITHER (   __TIMCLK__,
  __PSC__,
  __DELAY__ 
)