STM32L486xx HAL User Manual
Functions
Peripheral Control functions
RCC Exported Functions

RCC clocks control functions. More...

Functions

void HAL_RCC_MCOConfig (uint32_t RCC_MCOx, uint32_t RCC_MCOSource, uint32_t RCC_MCODiv)
 Select the clock source to output on MCO pin(PA8).
uint32_t HAL_RCC_GetSysClockFreq (void)
 Return the SYSCLK frequency.
uint32_t HAL_RCC_GetHCLKFreq (void)
 Return the HCLK frequency.
uint32_t HAL_RCC_GetPCLK1Freq (void)
 Return the PCLK1 frequency.
uint32_t HAL_RCC_GetPCLK2Freq (void)
 Return the PCLK2 frequency.
void HAL_RCC_GetOscConfig (RCC_OscInitTypeDef *RCC_OscInitStruct)
 Configure the RCC_OscInitStruct according to the internal RCC configuration registers.
void HAL_RCC_GetClockConfig (RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t *pFLatency)
 Configure the RCC_ClkInitStruct according to the internal RCC configuration registers.
void HAL_RCC_EnableCSS (void)
 Enable the Clock Security System.
void HAL_RCC_NMI_IRQHandler (void)
 Handle the RCC Clock Security System interrupt request.
__weak void HAL_RCC_CSSCallback (void)
 RCC Clock Security System interrupt callback.

Detailed Description

RCC clocks control functions.

 ===============================================================================
                      ##### Peripheral Control functions #####
 ===============================================================================
    [..]
    This subsection provides a set of functions allowing to:

    (+) Ouput clock to MCO pin.
    (+) Retrieve current clock frequencies.
    (+) Enable the Clock Security System.


Function Documentation

void HAL_RCC_CSSCallback ( void  )

RCC Clock Security System interrupt callback.

Return values:
none

Definition at line 1530 of file stm32l4xx_hal_rcc.c.

Referenced by HAL_RCC_NMI_IRQHandler().

void HAL_RCC_EnableCSS ( void  )

Enable the Clock Security System.

Note:
If a failure is detected on the HSE oscillator clock, this oscillator is automatically disabled and an interrupt is generated to inform the software about the failure (Clock Security System Interrupt, CSSI), allowing the MCU to perform rescue operations. The CSSI is linked to the Cortex-M4 NMI (Non-Maskable Interrupt) exception vector.
The Clock Security System can only be cleared by reset.
Return values:
None

Definition at line 1503 of file stm32l4xx_hal_rcc.c.

void HAL_RCC_GetClockConfig ( RCC_ClkInitTypeDef RCC_ClkInitStruct,
uint32_t *  pFLatency 
)

Configure the RCC_ClkInitStruct according to the internal RCC configuration registers.

Parameters:
RCC_ClkInitStructpointer to an RCC_ClkInitTypeDef structure that will be configured.
pFLatencyPointer on the Flash Latency.
Return values:
None

Definition at line 1468 of file stm32l4xx_hal_rcc.c.

References __HAL_FLASH_GET_LATENCY, RCC_ClkInitTypeDef::AHBCLKDivider, RCC_ClkInitTypeDef::APB1CLKDivider, RCC_ClkInitTypeDef::APB2CLKDivider, assert_param, RCC_ClkInitTypeDef::ClockType, RCC_CLOCKTYPE_HCLK, RCC_CLOCKTYPE_PCLK1, RCC_CLOCKTYPE_PCLK2, RCC_CLOCKTYPE_SYSCLK, and RCC_ClkInitTypeDef::SYSCLKSource.

uint32_t HAL_RCC_GetHCLKFreq ( void  )

Return the HCLK frequency.

Note:
Each time HCLK changes, this function must be called to update the right HCLK value. Otherwise, any configuration based on this function will be incorrect.
The SystemCoreClock CMSIS variable is used to store System Clock Frequency.
Return values:
HCLKfrequency in Hz

Definition at line 1305 of file stm32l4xx_hal_rcc.c.

Referenced by HAL_DAC_ConfigChannel(), HAL_PCD_IRQHandler(), HAL_RCC_GetPCLK1Freq(), and HAL_RCC_GetPCLK2Freq().

void HAL_RCC_GetOscConfig ( RCC_OscInitTypeDef RCC_OscInitStruct)
uint32_t HAL_RCC_GetPCLK1Freq ( void  )

Return the PCLK1 frequency.

Note:
Each time PCLK1 changes, this function must be called to update the right PCLK1 value. Otherwise, any configuration based on this function will be incorrect.
Return values:
PCLK1frequency in Hz

Definition at line 1316 of file stm32l4xx_hal_rcc.c.

References HAL_RCC_GetHCLKFreq().

Referenced by HAL_RCCEx_GetPeriphCLKFreq(), IRDA_SetConfig(), SMARTCARD_SetConfig(), UART_SetConfig(), and USART_SetConfig().

uint32_t HAL_RCC_GetPCLK2Freq ( void  )

Return the PCLK2 frequency.

Note:
Each time PCLK2 changes, this function must be called to update the right PCLK2 value. Otherwise, any configuration based on this function will be incorrect.
Return values:
PCLK2frequency in Hz

Definition at line 1328 of file stm32l4xx_hal_rcc.c.

References HAL_RCC_GetHCLKFreq().

Referenced by HAL_RCCEx_GetPeriphCLKFreq(), IRDA_SetConfig(), SMARTCARD_SetConfig(), UART_SetConfig(), and USART_SetConfig().

uint32_t HAL_RCC_GetSysClockFreq ( void  )

Return the SYSCLK frequency.

Note:
The system frequency computed by this function is not the real frequency in the chip. It is calculated based on the predefined constant and the selected clock source:
If SYSCLK source is MSI, function returns values based on MSI Value as defined by the MSI range.
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 PLL, function returns values based on HSE_VALUE(**), HSI_VALUE(*) or MSI Value multiplied/divided by the PLL factors.
(*) HSI_VALUE is a constant defined in stm32l4xx_hal_conf.h file (default value 16 MHz) but the real value may vary depending on the variations in voltage and temperature.
(**) HSE_VALUE is a constant defined in stm32l4xx_hal_conf.h file (default value 8 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.
The result of this function could be not correct when using fractional value for HSE crystal.
This function can be used by the user application to compute the baudrate for the communication peripherals or configure other parameters.
Each time SYSCLK changes, this function must be called to update the right SYSCLK value. Otherwise, any configuration based on this function will be incorrect.
Return values:
SYSCLKfrequency

Definition at line 1226 of file stm32l4xx_hal_rcc.c.

References __HAL_RCC_GET_PLL_OSCSOURCE, __HAL_RCC_GET_SYSCLK_SOURCE, HSE_VALUE, HSI_VALUE, RCC_PLLSOURCE_HSE, RCC_PLLSOURCE_HSI, and RCC_PLLSOURCE_MSI.

Referenced by HAL_RCC_ClockConfig(), HAL_RCC_OscConfig(), HAL_RCCEx_GetPeriphCLKFreq(), IRDA_SetConfig(), SMARTCARD_SetConfig(), UART_SetConfig(), and USART_SetConfig().

void HAL_RCC_MCOConfig ( uint32_t  RCC_MCOx,
uint32_t  RCC_MCOSource,
uint32_t  RCC_MCODiv 
)

Select the clock source to output on MCO pin(PA8).

Note:
PA8 should be configured in alternate function mode.
Parameters:
RCC_MCOxspecifies the output direction for the clock source. For STM32L4xx family this parameter can have only one value:
  • RCC_MCO1 Clock source to output on MCO1 pin(PA8).
RCC_MCOSourcespecifies the clock source to output. This parameter can be one of the following values:
RCC_MCODivspecifies the MCO prescaler. This parameter can be one of the following values:
Return values:
None

Definition at line 1167 of file stm32l4xx_hal_rcc.c.

References __MCO1_CLK_ENABLE, GPIO_InitTypeDef::Alternate, assert_param, GPIO_AF0_MCO, GPIO_MODE_AF_PP, GPIO_NOPULL, GPIO_SPEED_FREQ_HIGH, HAL_GPIO_Init(), IS_RCC_MCO, IS_RCC_MCO1SOURCE, IS_RCC_MCODIV, MCO1_GPIO_PORT, MCO1_PIN, GPIO_InitTypeDef::Mode, GPIO_InitTypeDef::Pin, GPIO_InitTypeDef::Pull, and GPIO_InitTypeDef::Speed.

void HAL_RCC_NMI_IRQHandler ( void  )

Handle the RCC Clock Security System interrupt request.

Note:
This API should be called under the NMI_Handler().
Return values:
None

Definition at line 1513 of file stm32l4xx_hal_rcc.c.

References __HAL_RCC_CLEAR_IT, __HAL_RCC_GET_IT, HAL_RCC_CSSCallback(), and RCC_IT_CSS.