STM32F103xB 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)
 Selects the clock source to output on MCO pin.
void HAL_RCC_EnableCSS (void)
 Enables the Clock Security System.
void HAL_RCC_DisableCSS (void)
 Disables the Clock Security System.
uint32_t HAL_RCC_GetSysClockFreq (void)
 Returns the SYSCLK frequency.
uint32_t HAL_RCC_GetHCLKFreq (void)
 Returns the HCLK frequency.
uint32_t HAL_RCC_GetPCLK1Freq (void)
 Returns the PCLK1 frequency.
uint32_t HAL_RCC_GetPCLK2Freq (void)
 Returns the PCLK2 frequency.
void HAL_RCC_GetOscConfig (RCC_OscInitTypeDef *RCC_OscInitStruct)
 Configures the RCC_OscInitStruct according to the internal RCC configuration registers.
void HAL_RCC_GetClockConfig (RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t *pFLatency)
 Get the RCC_ClkInitStruct according to the internal RCC configuration registers.
void HAL_RCC_NMI_IRQHandler (void)
 This function handles the RCC CSS interrupt request.
__weak void HAL_RCC_CSSCallback (void)
 RCC Clock Security System interrupt callback.
static void RCC_Delay (uint32_t mdelay)
 This function provides delay (in milliseconds) based on CPU cycles method.

Detailed Description

RCC clocks control functions.

  ===============================================================================
                  ##### Peripheral Control functions #####
  ===============================================================================
    [..]
    This subsection provides a set of functions allowing to control the RCC Clocks
    frequencies.

  

Function Documentation

void HAL_RCC_CSSCallback ( void  )

RCC Clock Security System interrupt callback.

Return values:
none

Definition at line 1379 of file stm32f1xx_hal_rcc.c.

Referenced by HAL_RCC_NMI_IRQHandler().

void HAL_RCC_DisableCSS ( void  )

Disables the Clock Security System.

Return values:
None

Definition at line 1048 of file stm32f1xx_hal_rcc.c.

References RCC_CR_CSSON_BB.

void HAL_RCC_EnableCSS ( void  )

Enables 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-M3 NMI (Non-Maskable Interrupt) exception vector.
Return values:
None

Definition at line 1039 of file stm32f1xx_hal_rcc.c.

References RCC_CR_CSSON_BB.

void HAL_RCC_GetClockConfig ( RCC_ClkInitTypeDef RCC_ClkInitStruct,
uint32_t *  pFLatency 
)

Get the RCC_ClkInitStruct according to the internal RCC configuration registers.

Parameters:
RCC_ClkInitStructpointer to an RCC_ClkInitTypeDef structure that contains the current clock configuration.
pFLatencyPointer on the Flash Latency.
Return values:
None

Definition at line 1312 of file stm32f1xx_hal_rcc.c.

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

uint32_t HAL_RCC_GetHCLKFreq ( void  )

Returns 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 and updated within this function
Return values:
HCLKfrequency

Definition at line 1176 of file stm32f1xx_hal_rcc.c.

Referenced by HAL_RCC_GetPCLK1Freq(), and HAL_RCC_GetPCLK2Freq().

void HAL_RCC_GetOscConfig ( RCC_OscInitTypeDef RCC_OscInitStruct)
uint32_t HAL_RCC_GetPCLK1Freq ( void  )

Returns 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

Definition at line 1187 of file stm32f1xx_hal_rcc.c.

References HAL_RCC_GetHCLKFreq().

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

uint32_t HAL_RCC_GetPCLK2Freq ( void  )

Returns 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

Definition at line 1199 of file stm32f1xx_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  )

Returns 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 HSI, function returns values based on HSI_VALUE(*)
If SYSCLK source is HSE, function returns a value based on HSE_VALUE divided by PREDIV factor(**)
If SYSCLK source is PLL, function returns a value based on HSE_VALUE divided by PREDIV factor(**) or HSI_VALUE(*) multiplied by the PLL factor.
(*) HSI_VALUE is a constant defined in stm32f1xx_hal_conf.h file (default value 8 MHz) but the real value may vary depending on the variations in voltage and temperature.
(**) HSE_VALUE is a constant defined in stm32f1xx_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 baud-rate 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 1082 of file stm32f1xx_hal_rcc.c.

References HSE_VALUE, HSI_VALUE, RCC_PLLSOURCE_HSI_DIV2, RCC_SYSCLKSOURCE_STATUS_HSE, RCC_SYSCLKSOURCE_STATUS_HSI, and RCC_SYSCLKSOURCE_STATUS_PLLCLK.

Referenced by HAL_RCC_ClockConfig(), and HAL_RCCEx_GetPeriphCLKFreq().

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

Selects the clock source to output on MCO pin.

Note:
MCO pin should be configured in alternate function mode.
Parameters:
RCC_MCOxspecifies the output direction for the clock source. This parameter can be one of the following values:
  • 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 DIV. This parameter can be one of the following values:
Return values:
None

Definition at line 1002 of file stm32f1xx_hal_rcc.c.

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

void HAL_RCC_NMI_IRQHandler ( void  )

This function handles the RCC CSS interrupt request.

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

Definition at line 1347 of file stm32f1xx_hal_rcc.c.

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

static void RCC_Delay ( uint32_t  mdelay) [static]

This function provides delay (in milliseconds) based on CPU cycles method.

Parameters:
mdelay,:specifies the delay time length, in milliseconds.
Return values:
None

Definition at line 1365 of file stm32f1xx_hal_rcc.c.

Referenced by HAL_RCC_OscConfig().