STM32G474xx HAL用户手册
宏定义
计算频率
RCC导出的宏

宏定义

#define __LL_RCC_CALC_PLLCLK_FREQ(__INPUTFREQ__, __PLLM__, __PLLN__, __PLLR__)
 辅助宏,用于计算系统域上的PLLCLK频率。
#define __LL_RCC_CALC_PLLCLK_ADC_FREQ(__INPUTFREQ__, __PLLM__, __PLLN__, __PLLP__)
 辅助宏,用于计算ADC域上使用的PLLCLK频率。
#define __LL_RCC_CALC_PLLCLK_48M_FREQ(__INPUTFREQ__, __PLLM__, __PLLN__, __PLLQ__)
 辅助宏,用于计算48M域上使用的PLLCLK频率。
#define __LL_RCC_CALC_HCLK_FREQ(__SYSCLKFREQ__, __AHBPRESCALER__)   ((__SYSCLKFREQ__) >> (AHBPrescTable[((__AHBPRESCALER__) & RCC_CFGR_HPRE) >> RCC_CFGR_HPRE_Pos] & 0x1FU))
 辅助宏,用于计算HCLK频率。
#define __LL_RCC_CALC_PCLK1_FREQ(__HCLKFREQ__, __APB1PRESCALER__)   ((__HCLKFREQ__) >> (APBPrescTable[(__APB1PRESCALER__) >> RCC_CFGR_PPRE1_Pos] & 0x1FU))
 辅助宏,用于计算PCLK1频率(ABP1)。
#define __LL_RCC_CALC_PCLK2_FREQ(__HCLKFREQ__, __APB2PRESCALER__)   ((__HCLKFREQ__) >> (APBPrescTable[(__APB2PRESCALER__) >> RCC_CFGR_PPRE2_Pos] & 0x1FU))
 辅助宏,用于计算PCLK2频率(ABP2)。

宏定义文档

#define __LL_RCC_CALC_HCLK_FREQ (   __SYSCLKFREQ__,
  __AHBPRESCALER__ 
)    ((__SYSCLKFREQ__) >> (AHBPrescTable[((__AHBPRESCALER__) & RCC_CFGR_HPRE) >> RCC_CFGR_HPRE_Pos] & 0x1FU))

辅助宏,用于计算HCLK频率。

参数:
__SYSCLKFREQ__SYSCLK频率(基于HSE/HSI/PLLCLK)
__AHBPRESCALER__此参数可以是以下值之一:
返回值:
HCLK时钟频率(单位:Hz)

定义位于文件 870 行,文件名为 stm32g4xx_ll_rcc.h.

RCC_GetHCLKClockFreq()UTILS_EnablePLLAndSwitchSystem() 引用。

#define __LL_RCC_CALC_PCLK1_FREQ (   __HCLKFREQ__,
  __APB1PRESCALER__ 
)    ((__HCLKFREQ__) >> (APBPrescTable[(__APB1PRESCALER__) >> RCC_CFGR_PPRE1_Pos] & 0x1FU))

辅助宏,用于计算PCLK1频率(ABP1)。

参数:
__HCLKFREQ__HCLK频率
__APB1PRESCALER__此参数可以是以下值之一:
返回值:
PCLK1时钟频率(单位:Hz)

定义位于文件 883 行,文件名为 stm32g4xx_ll_rcc.h.

RCC_GetPCLK1ClockFreq() 引用。

#define __LL_RCC_CALC_PCLK2_FREQ (   __HCLKFREQ__,
  __APB2PRESCALER__ 
)    ((__HCLKFREQ__) >> (APBPrescTable[(__APB2PRESCALER__) >> RCC_CFGR_PPRE2_Pos] & 0x1FU))

辅助宏,用于计算PCLK2频率(ABP2)。

参数:
__HCLKFREQ__HCLK频率
__APB2PRESCALER__此参数可以是以下值之一:
返回值:
PCLK2时钟频率(单位:Hz)

定义位于文件 896 行,文件名为 stm32g4xx_ll_rcc.h.

RCC_GetPCLK2ClockFreq() 引用。

#define __LL_RCC_CALC_PLLCLK_48M_FREQ (   __INPUTFREQ__,
  __PLLM__,
  __PLLN__,
  __PLLQ__ 
)
值:
((__INPUTFREQ__) * (__PLLN__) / ((((__PLLM__)>> RCC_PLLCFGR_PLLM_Pos) + 1U)) / \
                   ((((__PLLQ__) >> RCC_PLLCFGR_PLLQ_Pos) + 1U) << 1U))

辅助宏,用于计算48M域上使用的PLLCLK频率。

注意:
例如:__LL_RCC_CALC_PLLCLK_48M_FREQ (HSE_VALUE,LL_RCC_PLL_GetDivider (), LL_RCC_PLL_GetN (), LL_RCC_PLL_GetQ ());
参数:
__INPUTFREQ__PLL输入频率(基于HSE/HSI)
__PLLM__此参数可以是以下值之一:
__PLLN__介于最小值=8和最大值=127之间
__PLLQ__此参数可以是以下值之一:
返回值:
PLL时钟频率(单位:Hz)

定义位于文件 852 行,文件名为 stm32g4xx_ll_rcc.h.