STM32G474xx HAL用户手册
模块 | 定义
TIM导出宏
TIM

模块

 通用写和读寄存器宏

定义

#define __LL_TIM_GETFLAG_UIFCPY(__CNT__)   (READ_BIT((__CNT__), TIM_CNT_UIFCPY) >> TIM_CNT_UIFCPY_Pos)
 辅助宏,用于从计数器值中检索UIFCPY标志。
#define __LL_TIM_CALC_DEADTIME(__TIMCLK__, __CKD__, __DT__)
 辅助宏,用于计算TIMx_BDTR寄存器中的DTG[0:7]以实现所需的死区时间。
#define __LL_TIM_CALC_PSC(__TIMCLK__, __CNTCLK__)   (((__TIMCLK__) >= (__CNTCLK__)) ? (uint32_t)((((__TIMCLK__) + (__CNTCLK__)/2U)/(__CNTCLK__)) - 1U) : 0U)
 辅助宏,用于计算预分频器值以实现所需的计数器时钟频率。
#define __LL_TIM_CALC_ARR(__TIMCLK__, __PSC__, __FREQ__)   ((((__TIMCLK__)/((__PSC__) + 1U)) >= (__FREQ__)) ? (((__TIMCLK__)/((__FREQ__) * ((__PSC__) + 1U))) - 1U) : 0U)
 辅助宏,用于计算自动重装载值以实现所需的输出信号频率。
#define __LL_TIM_CALC_ARR_DITHER(__TIMCLK__, __PSC__, __FREQ__)
 辅助宏,用于计算自动重装载值(启用抖动功能)以实现所需的输出信号频率。
#define __LL_TIM_CALC_DELAY(__TIMCLK__, __PSC__, __DELAY__)
 辅助宏,用于计算比较值以实现所需的定时器输出比较有效/无效延迟。
#define __LL_TIM_CALC_DELAY_DITHER(__TIMCLK__, __PSC__, __DELAY__)
 辅助宏,用于计算比较值(启用抖动功能)以实现所需的定时器输出比较有效/无效延迟。
#define __LL_TIM_CALC_PULSE(__TIMCLK__, __PSC__, __DELAY__, __PULSE__)
 辅助宏,用于计算自动重装载值以实现所需的脉冲持续时间(定时器工作在单脉冲模式时)。
#define __LL_TIM_CALC_PULSE_DITHER(__TIMCLK__, __PSC__, __DELAY__, __PULSE__)
 辅助宏,用于计算自动重装载值(启用抖动功能)以实现所需的脉冲持续时间(定时器工作在单脉冲模式时)。
#define __LL_TIM_GET_ICPSC_RATIO(__ICPSC__)   ((uint32_t)(0x01U << (((__ICPSC__) >> 16U) >> TIM_CCMR1_IC1PSC_Pos)))
 辅助宏,用于检索输入捕获预分频器的分频比。

定义文档

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

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

注意:
例如:__LL_TIM_CALC_ARR (1000000, LL_TIM_GetPrescaler (), 10000);
参数:
__TIMCLK__定时器输入时钟频率(Hz)
__PSC__预分频器
__FREQ__输出信号频率(Hz)
返回值:
自动重装载值(介于Min_Data=0和Max_Data=65535之间)

定义于文件stm32g4xx_ll_tim.h1921行。

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

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

注意:
例如:__LL_TIM_CALC_ARR_DITHER (1000000, LL_TIM_GetPrescaler (), 10000);
参数:
__TIMCLK__定时器输入时钟频率(Hz)
__PSC__预分频器
__FREQ__输出信号频率(Hz)
返回值:
自动重装载值(介于Min_Data=0和Max_Data=65535之间)

定义于文件stm32g4xx_ll_tim.h1933行。

#define __LL_TIM_CALC_DEADTIME (   __TIMCLK__,
  __CKD__,
  __DT__ 
)
值:
( (((uint64_t)((__DT__)*1000U)) < ((DT_DELAY_1+1U) * TIM_CALC_DTS((__TIMCLK__), (__CKD__))))    ?  \
    (uint8_t)(((uint64_t)((__DT__)*1000U) / TIM_CALC_DTS((__TIMCLK__), (__CKD__)))  & DT_DELAY_1) :      \
    (((uint64_t)((__DT__)*1000U)) < ((64U + (DT_DELAY_2+1U)) * 2U * TIM_CALC_DTS((__TIMCLK__), (__CKD__))))  ?  \
    (uint8_t)(DT_RANGE_2 | ((uint8_t)((uint8_t)((((uint64_t)((__DT__)*1000U))/ TIM_CALC_DTS((__TIMCLK__),   \
                                                 (__CKD__))) >> 1U) - (uint8_t) 64) & DT_DELAY_2)) :\
    (((uint64_t)((__DT__)*1000U)) < ((32U + (DT_DELAY_3+1U)) * 8U * TIM_CALC_DTS((__TIMCLK__), (__CKD__))))  ?  \
    (uint8_t)(DT_RANGE_3 | ((uint8_t)((uint8_t)(((((uint64_t)(__DT__)*1000U))/ TIM_CALC_DTS((__TIMCLK__),  \
                                                 (__CKD__))) >> 3U) - (uint8_t) 32) & DT_DELAY_3)) :\
    (((uint64_t)((__DT__)*1000U)) < ((32U + (DT_DELAY_4+1U)) * 16U * TIM_CALC_DTS((__TIMCLK__), (__CKD__)))) ?  \
    (uint8_t)(DT_RANGE_4 | ((uint8_t)((uint8_t)(((((uint64_t)(__DT__)*1000U))/ TIM_CALC_DTS((__TIMCLK__),  \
                                                 (__CKD__))) >> 4U) - (uint8_t) 32) & DT_DELAY_4)) :\
    0U)

辅助宏,用于计算TIMx_BDTR寄存器中的DTG[0:7]以实现所需的死区时间。

注意:
例如:__LL_TIM_CALC_DEADTIME (80000000, LL_TIM_GetClockDivision (), 120);
参数:
__TIMCLK__定时器输入时钟频率(Hz)
__CKD__此参数可以是以下值之一:
__DT__死区时间(ns)
返回值:
DTG[0:7]

定义于文件stm32g4xx_ll_tim.h1889行。

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

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

注意:
例如:__LL_TIM_CALC_DELAY (1000000, LL_TIM_GetPrescaler (), 10);
参数:
__TIMCLK__定时器输入时钟频率(Hz)
__PSC__预分频器
__DELAY__定时器输出比较有效/无效延迟(μs)
返回值:
比较值(介于Min_Data=0和Max_Data=65535之间)

定义于文件stm32