STM32H735xx HAL User Manual
Functions
Get system and peripherals clocks frequency functions
RCC Exported Functions

Return the frequencies of different on chip clocks; System, AHB, APB1, APB2, APB3 and APB4 buses clocks. More...

Functions

void LL_RCC_GetSystemClocksFreq (LL_RCC_ClocksTypeDef *RCC_Clocks)
 Return the frequencies of different on chip clocks; System, AHB, APB1, APB2, APB3 and APB4 buses clocks.
void LL_RCC_GetPLL1ClockFreq (LL_PLL_ClocksTypeDef *PLL_Clocks)
 Return PLL1 clocks frequencies.
void LL_RCC_GetPLL2ClockFreq (LL_PLL_ClocksTypeDef *PLL_Clocks)
 Return PLL2 clocks frequencies.
void LL_RCC_GetPLL3ClockFreq (LL_PLL_ClocksTypeDef *PLL_Clocks)
 Return PLL3 clocks frequencies.
uint32_t LL_RCC_CalcPLLClockFreq (uint32_t PLLInputFreq, uint32_t M, uint32_t N, uint32_t FRACN, uint32_t PQR)
 Helper function to calculate the PLL frequency output.
uint32_t LL_RCC_GetUSARTClockFreq (uint32_t USARTxSource)
 Return USARTx clock frequency.
uint32_t LL_RCC_GetLPUARTClockFreq (uint32_t LPUARTxSource)
 Return LPUART clock frequency.
uint32_t LL_RCC_GetI2CClockFreq (uint32_t I2CxSource)
 Return I2Cx clock frequency.
uint32_t LL_RCC_GetLPTIMClockFreq (uint32_t LPTIMxSource)
 Return LPTIMx clock frequency.
uint32_t LL_RCC_GetSAIClockFreq (uint32_t SAIxSource)
 Return SAIx clock frequency.
uint32_t LL_RCC_GetADCClockFreq (uint32_t ADCxSource)
 Return ADC clock frequency.
uint32_t LL_RCC_GetSDMMCClockFreq (uint32_t SDMMCxSource)
 Return SDMMC clock frequency.
uint32_t LL_RCC_GetRNGClockFreq (uint32_t RNGxSource)
 Return RNG clock frequency.
uint32_t LL_RCC_GetCECClockFreq (uint32_t CECxSource)
 Return CEC clock frequency.
uint32_t LL_RCC_GetUSBClockFreq (uint32_t USBxSource)
 Return USB clock frequency.
uint32_t LL_RCC_GetDFSDMClockFreq (uint32_t DFSDMxSource)
 Return DFSDM clock frequency.
uint32_t LL_RCC_GetSPDIFClockFreq (uint32_t SPDIFxSource)
 Return SPDIF clock frequency.
uint32_t LL_RCC_GetSPIClockFreq (uint32_t SPIxSource)
 Return SPIx clock frequency.
uint32_t LL_RCC_GetSWPClockFreq (uint32_t SWPxSource)
 Return SWP clock frequency.
uint32_t LL_RCC_GetFDCANClockFreq (uint32_t FDCANxSource)
 Return FDCAN clock frequency.
uint32_t LL_RCC_GetFMCClockFreq (uint32_t FMCxSource)
 Return FMC clock frequency.
uint32_t LL_RCC_GetOSPIClockFreq (uint32_t OSPIxSource)
 Return OSPI clock frequency.
uint32_t LL_RCC_GetCLKPClockFreq (uint32_t CLKPxSource)
 Return CLKP clock frequency.

Detailed Description

Return the frequencies of different on chip clocks; System, AHB, APB1, APB2, APB3 and APB4 buses clocks.

and different peripheral clocks available on the device.

Note:
If SYSCLK source is HSI, function returns values based on HSI_VALUE(*)
If SYSCLK source is HSE, function returns values based on HSE_VALUE(**)
If SYSCLK source is CSI, function returns values based on CSI_VALUE(***)
If SYSCLK source is PLL, function returns values based on HSE_VALUE(**) or HSI_VALUE(*) multiplied/divided by the PLL factors.
(*) HSI_VALUE is a constant defined in header file (default value 64 MHz) divider by HSIDIV, but the real value may vary depending on on the variations in voltage and temperature.
(**) HSE_VALUE is a constant defined in header file (default value 25 MHz), user has to ensure that HSE_VALUE is same as the real frequency of the crystal used. Otherwise, this function may have wrong result.
(***) CSI_VALUE is a constant defined in header file (default value 4 MHz) but the real value may vary depending on the variations in voltage and temperature.
The result of this function could be incorrect when using fractional value for HSE crystal.
This function can be used by the user application to compute the baud-rate for the communication peripherals or configure other parameters.

Function Documentation

uint32_t LL_RCC_CalcPLLClockFreq ( uint32_t  PLLInputFreq,
uint32_t  M,
uint32_t  N,
uint32_t  FRACN,
uint32_t  PQR 
)

Helper function to calculate the PLL frequency output.

Note:
ex: LL_RCC_CalcPLLClockFreq (HSE_VALUE, LL_RCC_PLL1_GetM (), LL_RCC_PLL1_GetN (), LL_RCC_PLL1_GetFRACN (), LL_RCC_PLL1_GetP ());
Parameters:
PLLInputFreqPLL Input frequency (based on HSE/(HSI/HSIDIV)/CSI)
MBetween 1 and 63
NBetween 4 and 512
FRACNBetween 0 and 0x1FFF
PQRVCO output divider (P, Q or R) Between 1 and 128, except for PLL1P Odd value not allowed
Return values:
PLL1clock frequency (in Hz)

Definition at line 513 of file stm32h7xx_ll_rcc.c.

Referenced by LL_PLL_ConfigSystemClock_HSE(), LL_PLL_ConfigSystemClock_HSI(), LL_RCC_GetPLL1ClockFreq(), LL_RCC_GetPLL2ClockFreq(), LL_RCC_GetPLL3ClockFreq(), and UTILS_GetPLLOutputFrequency().

uint32_t LL_RCC_GetADCClockFreq ( uint32_t  ADCxSource)
uint32_t LL_RCC_GetCECClockFreq ( uint32_t  CECxSource)

Return CEC clock frequency.

Parameters:
CECxSourceThis parameter can be one of the following values:
Return values:
CECclock frequency (in Hz)

Definition at line 1059 of file stm32h7xx_ll_rcc.c.

References CSI_VALUE, LL_RCC_CEC_CLKSOURCE_CSI_DIV122, LL_RCC_CEC_CLKSOURCE_LSE, LL_RCC_CEC_CLKSOURCE_LSI, LL_RCC_CSI_IsReady(), LL_RCC_GetCECClockSource(), LL_RCC_LSE_IsReady(), LL_RCC_LSI_IsReady(), LL_RCC_PERIPH_FREQUENCY_NO, LSE_VALUE, and LSI_VALUE.

uint32_t LL_RCC_GetCLKPClockFreq ( uint32_t  CLKPxSource)
uint32_t LL_RCC_GetDFSDMClockFreq ( uint32_t  DFSDMxSource)

Return DFSDM clock frequency.

Parameters:
DFSDMxSourceThis parameter can be one of the following values:
Return values:
DFSDMclock frequency (in Hz)

Definition at line 1147 of file stm32h7xx_ll_rcc.c.

References LL_RCC_CALC_SYSCLK_FREQ, LL_RCC_DFSDM1_CLKSOURCE_PCLK2, LL_RCC_DFSDM1_CLKSOURCE_SYSCLK, LL_RCC_GetDFSDMClockSource(), LL_RCC_GetSysPrescaler(), LL_RCC_PERIPH_FREQUENCY_NO, RCC_GetHCLKClockFreq(), RCC_GetPCLK2ClockFreq(), and RCC_GetSystemClockFreq().

uint32_t LL_RCC_GetFDCANClockFreq ( uint32_t  FDCANxSource)

Return FDCAN clock frequency.

Parameters:
FDCANxSourceThis parameter can be one of the following values:
Return values:
FDCANclock frequency (in Hz)

Definition at line 1443 of file stm32h7xx_ll_rcc.c.

References HSE_VALUE, LL_RCC_FDCAN_CLKSOURCE_HSE, LL_RCC_FDCAN_CLKSOURCE_PLL1Q, LL_RCC_FDCAN_CLKSOURCE_PLL2Q, LL_RCC_GetFDCANClockSource(), LL_RCC_GetPLL1ClockFreq(), LL_RCC_GetPLL2ClockFreq(), LL_RCC_HSE_IsReady(), LL_RCC_PERIPH_FREQUENCY_NO, LL_RCC_PLL1_IsReady(), LL_RCC_PLL2_IsReady(), and LL_PLL_ClocksTypeDef::PLL_Q_Frequency.

uint32_t LL_RCC_GetFMCClockFreq ( uint32_t  FMCxSource)
uint32_t LL_RCC_GetI2CClockFreq ( uint32_t  I2CxSource)
uint32_t LL_RCC_GetLPTIMClockFreq ( uint32_t  LPTIMxSource)
uint32_t LL_RCC_GetLPUARTClockFreq ( uint32_t  LPUARTxSource)
uint32_t LL_RCC_GetOSPIClockFreq ( uint32_t  OSPIxSource)
uint32_t LL_RCC_GetRNGClockFreq ( uint32_t  RNGxSource)

Return RNG clock frequency.

Parameters:
RNGxSourceThis parameter can be one of the following values:
Return values:
RNGclock frequency (in Hz)

Definition at line 1008 of file stm32h7xx_ll_rcc.c.

References LL_RCC_GetPLL1ClockFreq(), LL_RCC_GetRNGClockSource(), LL_RCC_HSI48_IsReady(), LL_RCC_LSE_IsReady(), LL_RCC_LSI_IsReady(), LL_RCC_PERIPH_FREQUENCY_NO, LL_RCC_PLL1_IsReady(), LL_RCC_RNG_CLKSOURCE_HSI48, LL_RCC_RNG_CLKSOURCE_LSE, LL_RCC_RNG_CLKSOURCE_LSI, LL_RCC_RNG_CLKSOURCE_PLL1Q, LSE_VALUE, LSI_VALUE, and LL_PLL_ClocksTypeDef::PLL_Q_Frequency.

uint32_t LL_RCC_GetSAIClockFreq ( uint32_t  SAIxSource)
uint32_t LL_RCC_GetSDMMCClockFreq ( uint32_t  SDMMCxSource)

Return SDMMC clock frequency.

Parameters:
SDMMCxSourceThis parameter can be one of the following values:
Return values:
SDMMCclock frequency (in Hz)

Definition at line 970 of file stm32h7xx_ll_rcc.c.

References LL_RCC_GetPLL1ClockFreq(), LL_RCC_GetPLL2ClockFreq(), LL_RCC_GetSDMMCClockSource(), LL_RCC_PERIPH_FREQUENCY_NO, LL_RCC_PLL1_IsReady(), LL_RCC_PLL2_IsReady(), LL_RCC_SDMMC_CLKSOURCE_PLL1Q, LL_RCC_SDMMC_CLKSOURCE_PLL2R, LL_PLL_ClocksTypeDef::PLL_Q_Frequency, and LL_PLL_ClocksTypeDef::PLL_R_Frequency.

uint32_t LL_RCC_GetSPDIFClockFreq ( uint32_t  SPDIFxSource)
uint32_t LL_RCC_GetSPIClockFreq ( uint32_t  SPIxSource)

Return SPIx clock frequency.

Parameters:
SPIxSourceThis parameter can be one of the following values:
Return values:
SPIclock frequency (in Hz)

Definition at line 1301 of file stm32h7xx_ll_rcc.c.

References assert_param, CSI_VALUE, EXTERNAL_CLOCK_VALUE, HSE_VALUE, HSI_VALUE, IS_LL_RCC_SPI_CLKSOURCE, LL_RCC_CALC_SYSCLK_FREQ, LL_RCC_CLKP_CLKSOURCE, LL_RCC_CSI_IsReady(), LL_RCC_GetCLKPClockFreq(), LL_RCC_GetPLL1ClockFreq(), LL_RCC_GetPLL2ClockFreq(), LL_RCC_GetPLL3ClockFreq(), LL_RCC_GetSPIClockSource(), LL_RCC_GetSysPrescaler(), LL_RCC_HSE_IsReady(), LL_RCC_HSI_GetDivider(), LL_RCC_HSI_IsReady(), LL_RCC_PERIPH_FREQUENCY_NO, LL_RCC_PLL1_IsReady(), LL_RCC_PLL2_IsReady(), LL_RCC_PLL3_IsReady(), LL_RCC_SPI123_CLKSOURCE_CLKP, LL_RCC_SPI123_CLKSOURCE_I2S_CKIN, LL_RCC_SPI123_CLKSOURCE_PLL1Q, LL_RCC_SPI123_CLKSOURCE_PLL2P, LL_RCC_SPI123_CLKSOURCE_PLL3P, LL_RCC_SPI45_CLKSOURCE_CSI, LL_RCC_SPI45_CLKSOURCE_HSE, LL_RCC_SPI45_CLKSOURCE_HSI, LL_RCC_SPI45_CLKSOURCE_PCLK2, LL_RCC_SPI45_CLKSOURCE_PLL2Q, LL_RCC_SPI45_CLKSOURCE_PLL3Q, LL_RCC_SPI6_CLKSOURCE_CSI, LL_RCC_SPI6_CLKSOURCE_HSE, LL_RCC_SPI6_CLKSOURCE_HSI, LL_RCC_SPI6_CLKSOURCE_PCLK4, LL_RCC_SPI6_CLKSOURCE_PLL2Q, LL_RCC_SPI6_CLKSOURCE_PLL3Q, LL_PLL_ClocksTypeDef::PLL_P_Frequency, LL_PLL_ClocksTypeDef::PLL_Q_Frequency, RCC_GetHCLKClockFreq(), RCC_GetPCLK2ClockFreq(), RCC_GetPCLK4ClockFreq(), and RCC_GetSystemClockFreq().

Referenced by LL_I2S_Init().

uint32_t LL_RCC_GetSWPClockFreq ( uint32_t  SWPxSource)

Return SWP clock frequency.

Parameters:
SWPxSourceThis parameter can be one of the following values:
Return values:
SWPclock frequency (in Hz)

Definition at line 1411 of file stm32h7xx_ll_rcc.c.

References HSI_VALUE, LL_RCC_CALC_SYSCLK_FREQ, LL_RCC_GetSWPClockSource(), LL_RCC_GetSysPrescaler(), LL_RCC_HSI_GetDivider(), LL_RCC_HSI_IsReady(), LL_RCC_PERIPH_FREQUENCY_NO, LL_RCC_SWP_CLKSOURCE_HSI, LL_RCC_SWP_CLKSOURCE_PCLK1, RCC_GetHCLKClockFreq(), RCC_GetPCLK1ClockFreq(), and RCC_GetSystemClockFreq().

Return the frequencies of different on chip clocks; System, AHB, APB1, APB2, APB3 and APB4 buses clocks.

Note:
Each time SYSCLK, HCLK, PCLK1, PCLK2, PCLK3 and/or PCLK4 clock changes, this function must be called to update structure fields. Otherwise, any configuration based on this function will be incorrect.
Parameters:
RCC_Clockspointer to a LL_RCC_ClocksTypeDef structure which will hold the clocks frequencies
Return values:
None

Definition at line 258 of file stm32h7xx_ll_rcc.c.

References LL_RCC_ClocksTypeDef::HCLK_Frequency, LL_RCC_ClocksTypeDef::PCLK1_Frequency, LL_RCC_ClocksTypeDef::PCLK2_Frequency, LL_RCC_ClocksTypeDef::PCLK3_Frequency, LL_RCC_ClocksTypeDef::PCLK4_Frequency, RCC_GetHCLKClockFreq(), RCC_GetPCLK1ClockFreq(), RCC_GetPCLK2ClockFreq(), RCC_GetPCLK3ClockFreq(), RCC_GetPCLK4ClockFreq(), RCC_GetSystemClockFreq(), and LL_RCC_ClocksTypeDef::SYSCLK_Frequency.

Referenced by LL_LPTIM_Disable().

uint32_t LL_RCC_GetUSARTClockFreq ( uint32_t  USARTxSource)
uint32_t LL_RCC_GetUSBClockFreq ( uint32_t  USBxSource)

Return USB clock frequency.

Parameters:
USBxSourceThis parameter can be one of the following values:
Return values:
USBclock frequency (in Hz)

Definition at line 1101 of file stm32h7xx_ll_rcc.c.

References HSI48_VALUE, LL_RCC_GetPLL1ClockFreq(), LL_RCC_GetPLL3ClockFreq(), LL_RCC_GetUSBClockSource(), LL_RCC_HSI48_IsReady(), LL_RCC_PERIPH_FREQUENCY_NO, LL_RCC_PLL1_IsReady(), LL_RCC_PLL3_IsReady(), LL_RCC_USB_CLKSOURCE_DISABLE, LL_RCC_USB_CLKSOURCE_HSI48, LL_RCC_USB_CLKSOURCE_PLL1Q, LL_RCC_USB_CLKSOURCE_PLL3Q, and LL_PLL_ClocksTypeDef::PLL_Q_Frequency.