STM32L486xx HAL User Manual
Functions
Extended Peripheral Control functions
RCCEx Exported Functions

Extended Peripheral Control functions. More...

Functions

HAL_StatusTypeDef HAL_RCCEx_PeriphCLKConfig (RCC_PeriphCLKInitTypeDef *PeriphClkInit)
 Initialize the RCC extended peripherals clocks according to the specified parameters in the RCC_PeriphCLKInitTypeDef.
void HAL_RCCEx_GetPeriphCLKConfig (RCC_PeriphCLKInitTypeDef *PeriphClkInit)
 Get the RCC_ClkInitStruct according to the internal RCC configuration registers.
uint32_t HAL_RCCEx_GetPeriphCLKFreq (uint32_t PeriphClk)
 Return the peripheral clock frequency for peripherals with clock source from PLLSAIs.

Detailed Description

Extended Peripheral Control functions.

 ===============================================================================
                ##### Extended Peripheral Control functions  #####
 ===============================================================================
    [..]
    This subsection provides a set of functions allowing to control the RCC Clocks
    frequencies.
    [..]
    (@) Important note: Care must be taken when HAL_RCCEx_PeriphCLKConfig() is used to
        select the RTC clock source; in this case the Backup domain will be reset in
        order to modify the RTC Clock source, as consequence RTC registers (including
        the backup registers) are set to their reset values.


Function Documentation

Get the RCC_ClkInitStruct according to the internal RCC configuration registers.

Parameters:
PeriphClkInitpointer to an RCC_PeriphCLKInitTypeDef structure that returns the configuration information for the Extended Peripherals clocks(SAI1, SAI2, LPTIM1, LPTIM2, I2C1, I2C2, I2C3, I2C4, LPUART, USART1, USART2, USART3, UART4, UART5, RTC, ADCx, DFSDMx, SWPMI1, USB, SDMMC1 and RNG).
Return values:
None

Definition at line 814 of file stm32l4xx_hal_rcc_ex.c.

References __HAL_RCC_GET_ADC_SOURCE, __HAL_RCC_GET_DFSDM1_SOURCE, __HAL_RCC_GET_I2C1_SOURCE, __HAL_RCC_GET_I2C2_SOURCE, __HAL_RCC_GET_I2C3_SOURCE, __HAL_RCC_GET_LPTIM1_SOURCE, __HAL_RCC_GET_LPTIM2_SOURCE, __HAL_RCC_GET_LPUART1_SOURCE, __HAL_RCC_GET_RNG_SOURCE, __HAL_RCC_GET_RTC_SOURCE, __HAL_RCC_GET_SAI1_SOURCE, __HAL_RCC_GET_SAI2_SOURCE, __HAL_RCC_GET_SDMMC1_SOURCE, __HAL_RCC_GET_SWPMI1_SOURCE, __HAL_RCC_GET_UART4_SOURCE, __HAL_RCC_GET_UART5_SOURCE, __HAL_RCC_GET_USART1_SOURCE, __HAL_RCC_GET_USART2_SOURCE, __HAL_RCC_GET_USART3_SOURCE, __HAL_RCC_GET_USB_SOURCE, RCC_PeriphCLKInitTypeDef::AdcClockSelection, RCC_PeriphCLKInitTypeDef::Dfsdm1ClockSelection, RCC_PeriphCLKInitTypeDef::I2c1ClockSelection, RCC_PeriphCLKInitTypeDef::I2c2ClockSelection, RCC_PeriphCLKInitTypeDef::I2c3ClockSelection, RCC_PeriphCLKInitTypeDef::Lptim1ClockSelection, RCC_PeriphCLKInitTypeDef::Lptim2ClockSelection, RCC_PeriphCLKInitTypeDef::Lpuart1ClockSelection, RCC_PeriphCLKInitTypeDef::PeriphClockSelection, RCC_PeriphCLKInitTypeDef::PLLSAI1, RCC_PLLSAI1InitTypeDef::PLLSAI1M, RCC_PLLSAI1InitTypeDef::PLLSAI1N, RCC_PLLSAI1InitTypeDef::PLLSAI1P, RCC_PLLSAI1InitTypeDef::PLLSAI1Q, RCC_PLLSAI1InitTypeDef::PLLSAI1R, RCC_PLLSAI1InitTypeDef::PLLSAI1Source, RCC_PeriphCLKInitTypeDef::PLLSAI2, RCC_PLLSAI2InitTypeDef::PLLSAI2M, RCC_PLLSAI2InitTypeDef::PLLSAI2N, RCC_PLLSAI2InitTypeDef::PLLSAI2P, RCC_PLLSAI2InitTypeDef::PLLSAI2R, RCC_PLLSAI2InitTypeDef::PLLSAI2Source, RCC_PERIPHCLK_ADC, RCC_PERIPHCLK_DFSDM1, RCC_PERIPHCLK_I2C1, RCC_PERIPHCLK_I2C2, RCC_PERIPHCLK_I2C3, RCC_PERIPHCLK_LPTIM2, RCC_PERIPHCLK_RNG, RCC_PERIPHCLK_RTC, RCC_PERIPHCLK_SAI1, RCC_PERIPHCLK_SAI2, RCC_PERIPHCLK_SWPMI1, RCC_PERIPHCLK_UART4, RCC_PERIPHCLK_UART5, RCC_PERIPHCLK_USART1, RCC_PERIPHCLK_USART2, RCC_PERIPHCLK_USART3, RCC_PERIPHCLK_USB, RCC_PeriphCLKInitTypeDef::RngClockSelection, RCC_PeriphCLKInitTypeDef::RTCClockSelection, RCC_PeriphCLKInitTypeDef::Sai1ClockSelection, RCC_PeriphCLKInitTypeDef::Sai2ClockSelection, RCC_PeriphCLKInitTypeDef::Sdmmc1ClockSelection, RCC_PeriphCLKInitTypeDef::Swpmi1ClockSelection, RCC_PeriphCLKInitTypeDef::Uart4ClockSelection, RCC_PeriphCLKInitTypeDef::Uart5ClockSelection, RCC_PeriphCLKInitTypeDef::Usart1ClockSelection, RCC_PeriphCLKInitTypeDef::Usart2ClockSelection, RCC_PeriphCLKInitTypeDef::Usart3ClockSelection, and RCC_PeriphCLKInitTypeDef::UsbClockSelection.

uint32_t HAL_RCCEx_GetPeriphCLKFreq ( uint32_t  PeriphClk)

Return the peripheral clock frequency for peripherals with clock source from PLLSAIs.

Note:
Return 0 if peripheral clock identifier not managed by this API
Parameters:
PeriphClkPeripheral clock identifier This parameter can be one of the following values:
Return values:
Frequencyin Hz

Definition at line 1124 of file stm32l4xx_hal_rcc_ex.c.

References __HAL_RCC_GET_ADC_SOURCE, __HAL_RCC_GET_DFSDM1_SOURCE, __HAL_RCC_GET_I2C1_SOURCE, __HAL_RCC_GET_I2C2_SOURCE, __HAL_RCC_GET_I2C3_SOURCE, __HAL_RCC_GET_LPTIM1_SOURCE, __HAL_RCC_GET_LPTIM2_SOURCE, __HAL_RCC_GET_LPUART1_SOURCE, __HAL_RCC_GET_MSI_RANGE, __HAL_RCC_GET_PLL_OSCSOURCE, __HAL_RCC_GET_PLLCLKOUT_CONFIG, __HAL_RCC_GET_PLLSAI1CLKOUT_CONFIG, __HAL_RCC_GET_PLLSAI2CLKOUT_CONFIG, __HAL_RCC_GET_RTC_SOURCE, __HAL_RCC_GET_SAI1_SOURCE, __HAL_RCC_GET_SAI2_SOURCE, __HAL_RCC_GET_SWPMI1_SOURCE, __HAL_RCC_GET_UART4_SOURCE, __HAL_RCC_GET_UART5_SOURCE, __HAL_RCC_GET_USART1_SOURCE, __HAL_RCC_GET_USART2_SOURCE, __HAL_RCC_GET_USART3_SOURCE, assert_param, EXTERNAL_SAI1_CLOCK_VALUE, EXTERNAL_SAI2_CLOCK_VALUE, HAL_RCC_GetPCLK1Freq(), HAL_RCC_GetPCLK2Freq(), HAL_RCC_GetSysClockFreq(), HSE_VALUE, HSI48_VALUE, HSI_VALUE, IS_RCC_PERIPHCLOCK, LSE_VALUE, LSI_VALUE, RCC_ADCCLKSOURCE_PLLSAI1, RCC_ADCCLKSOURCE_PLLSAI2, RCC_ADCCLKSOURCE_SYSCLK, RCC_DFSDM1CLKSOURCE_PCLK2, RCC_I2C1CLKSOURCE_HSI, RCC_I2C1CLKSOURCE_PCLK1, RCC_I2C1CLKSOURCE_SYSCLK, RCC_I2C2CLKSOURCE_HSI, RCC_I2C2CLKSOURCE_PCLK1, RCC_I2C2CLKSOURCE_SYSCLK, RCC_I2C3CLKSOURCE_HSI, RCC_I2C3CLKSOURCE_PCLK1, RCC_I2C3CLKSOURCE_SYSCLK, RCC_LPTIM1CLKSOURCE_HSI, RCC_LPTIM1CLKSOURCE_LSE, RCC_LPTIM1CLKSOURCE_LSI, RCC_LPTIM1CLKSOURCE_PCLK1, RCC_LPTIM2CLKSOURCE_HSI, RCC_LPTIM2CLKSOURCE_LSE, RCC_LPTIM2CLKSOURCE_LSI, RCC_LPTIM2CLKSOURCE_PCLK1, RCC_LPUART1CLKSOURCE_HSI, RCC_LPUART1CLKSOURCE_LSE, RCC_LPUART1CLKSOURCE_PCLK1, RCC_LPUART1CLKSOURCE_SYSCLK, RCC_PERIPHCLK_ADC, RCC_PERIPHCLK_DFSDM1, RCC_PERIPHCLK_I2C1, RCC_PERIPHCLK_I2C2, RCC_PERIPHCLK_I2C3, RCC_PERIPHCLK_LPTIM1, RCC_PERIPHCLK_LPTIM2, RCC_PERIPHCLK_LPUART1, RCC_PERIPHCLK_RNG, RCC_PERIPHCLK_RTC, RCC_PERIPHCLK_SAI1, RCC_PERIPHCLK_SAI2, RCC_PERIPHCLK_SDMMC1, RCC_PERIPHCLK_SWPMI1, RCC_PERIPHCLK_UART4, RCC_PERIPHCLK_UART5, RCC_PERIPHCLK_USART1, RCC_PERIPHCLK_USART2, RCC_PERIPHCLK_USART3, RCC_PERIPHCLK_USB, RCC_PLL_SAI3CLK, RCC_PLLSAI1_ADC1CLK, RCC_PLLSAI1_SAI1CLK, RCC_PLLSAI2_ADC2CLK, RCC_PLLSAI2_SAI2CLK, RCC_PLLSOURCE_HSE, RCC_PLLSOURCE_HSI, RCC_PLLSOURCE_MSI, RCC_RTCCLKSOURCE_HSE_DIV32, RCC_RTCCLKSOURCE_LSE, RCC_RTCCLKSOURCE_LSI, RCC_SAI1CLKSOURCE_PIN, RCC_SAI1CLKSOURCE_PLL, RCC_SAI1CLKSOURCE_PLLSAI1, RCC_SAI1CLKSOURCE_PLLSAI2, RCC_SAI2CLKSOURCE_PIN, RCC_SAI2CLKSOURCE_PLL, RCC_SAI2CLKSOURCE_PLLSAI2, RCC_SWPMI1CLKSOURCE_HSI, RCC_SWPMI1CLKSOURCE_PCLK1, RCC_UART4CLKSOURCE_HSI, RCC_UART4CLKSOURCE_LSE, RCC_UART4CLKSOURCE_PCLK1, RCC_UART4CLKSOURCE_SYSCLK, RCC_UART5CLKSOURCE_HSI, RCC_UART5CLKSOURCE_LSE, RCC_UART5CLKSOURCE_PCLK1, RCC_UART5CLKSOURCE_SYSCLK, RCC_USART1CLKSOURCE_HSI, RCC_USART1CLKSOURCE_LSE, RCC_USART1CLKSOURCE_PCLK2, RCC_USART1CLKSOURCE_SYSCLK, RCC_USART2CLKSOURCE_HSI, RCC_USART2CLKSOURCE_LSE, RCC_USART2CLKSOURCE_PCLK1, RCC_USART2CLKSOURCE_SYSCLK, RCC_USART3CLKSOURCE_HSI, RCC_USART3CLKSOURCE_LSE, RCC_USART3CLKSOURCE_PCLK1, and RCC_USART3CLKSOURCE_SYSCLK.

Referenced by HAL_SAI_Init().

HAL_StatusTypeDef HAL_RCCEx_PeriphCLKConfig ( RCC_PeriphCLKInitTypeDef PeriphClkInit)

Initialize the RCC extended peripherals clocks according to the specified parameters in the RCC_PeriphCLKInitTypeDef.

Parameters:
PeriphClkInitpointer to an RCC_PeriphCLKInitTypeDef structure that contains a field PeriphClockSelection which can be a combination of the following values:
Note:
Care must be taken when HAL_RCCEx_PeriphCLKConfig() is used to select the RTC clock source: in this case the access to Backup domain is enabled.
Return values:
HALstatus

Definition at line 203 of file stm32l4xx_hal_rcc_ex.c.

References __HAL_RCC_ADC_CONFIG, __HAL_RCC_BACKUPRESET_FORCE, __HAL_RCC_BACKUPRESET_RELEASE, __HAL_RCC_DFSDM1_CONFIG, __HAL_RCC_I2C1_CONFIG, __HAL_RCC_I2C2_CONFIG, __HAL_RCC_I2C3_CONFIG, __HAL_RCC_LPTIM1_CONFIG, __HAL_RCC_LPTIM2_CONFIG, __HAL_RCC_LPUART1_CONFIG, __HAL_RCC_PLLCLKOUT_ENABLE, __HAL_RCC_PLLSAI2_DISABLE, __HAL_RCC_PWR_CLK_DISABLE, __HAL_RCC_PWR_CLK_ENABLE, __HAL_RCC_PWR_IS_CLK_DISABLED, __HAL_RCC_RNG_CONFIG, __HAL_RCC_RTC_CONFIG, __HAL_RCC_SAI1_CONFIG, __HAL_RCC_SAI2_CONFIG, __HAL_RCC_SDMMC1_CONFIG, __HAL_RCC_SWPMI1_CONFIG, __HAL_RCC_UART4_CONFIG, __HAL_RCC_UART5_CONFIG, __HAL_RCC_USART1_CONFIG, __HAL_RCC_USART2_CONFIG, __HAL_RCC_USART3_CONFIG, __HAL_RCC_USB_CONFIG, RCC_PeriphCLKInitTypeDef::AdcClockSelection, assert_param, RCC_PeriphCLKInitTypeDef::Dfsdm1ClockSelection, DIVIDER_P_UPDATE, DIVIDER_Q_UPDATE, DIVIDER_R_UPDATE, HAL_GetTick(), RCC_PeriphCLKInitTypeDef::I2c1ClockSelection, RCC_PeriphCLKInitTypeDef::I2c2ClockSelection, RCC_PeriphCLKInitTypeDef::I2c3ClockSelection, IS_RCC_ADCCLKSOURCE, IS_RCC_DFSDM1CLKSOURCE, IS_RCC_I2C1CLKSOURCE, IS_RCC_I2C2CLKSOURCE, IS_RCC_I2C3CLKSOURCE, IS_RCC_LPTIM1CLK, IS_RCC_LPTIM2CLK, IS_RCC_LPUART1CLKSOURCE, IS_RCC_PERIPHCLOCK, IS_RCC_RNGCLKSOURCE, IS_RCC_RTCCLKSOURCE, IS_RCC_SAI1CLK, IS_RCC_SAI2CLK, IS_RCC_SDMMC1CLKSOURCE, IS_RCC_SWPMI1CLKSOURCE, IS_RCC_UART4CLKSOURCE, IS_RCC_UART5CLKSOURCE, IS_RCC_USART1CLKSOURCE, IS_RCC_USART2CLKSOURCE, IS_RCC_USART3CLKSOURCE, IS_RCC_USBCLKSOURCE, RCC_PeriphCLKInitTypeDef::Lptim1ClockSelection, RCC_PeriphCLKInitTypeDef::Lptim2ClockSelection, RCC_PeriphCLKInitTypeDef::Lpuart1ClockSelection, RCC_PeriphCLKInitTypeDef::PeriphClockSelection, RCC_PeriphCLKInitTypeDef::PLLSAI1, RCC_PeriphCLKInitTypeDef::PLLSAI2, PLLSAI2_TIMEOUT_VALUE, RCC_ADCCLKSOURCE_PLLSAI1, RCC_ADCCLKSOURCE_PLLSAI2, RCC_DBP_TIMEOUT_VALUE, RCC_LSE_TIMEOUT_VALUE, RCC_PERIPHCLK_ADC, RCC_PERIPHCLK_DFSDM1, RCC_PERIPHCLK_I2C1, RCC_PERIPHCLK_I2C2, RCC_PERIPHCLK_I2C3, RCC_PERIPHCLK_LPTIM1, RCC_PERIPHCLK_LPTIM2, RCC_PERIPHCLK_LPUART1, RCC_PERIPHCLK_RNG, RCC_PERIPHCLK_RTC, RCC_PERIPHCLK_SAI1, RCC_PERIPHCLK_SAI2, RCC_PERIPHCLK_SDMMC1, RCC_PERIPHCLK_SWPMI1, RCC_PERIPHCLK_UART4, RCC_PERIPHCLK_UART5, RCC_PERIPHCLK_USART1, RCC_PERIPHCLK_USART2, RCC_PERIPHCLK_USART3, RCC_PERIPHCLK_USB, RCC_PLL_48M1CLK, RCC_PLL_SAI3CLK, RCC_RNGCLKSOURCE_PLL, RCC_RNGCLKSOURCE_PLLSAI1, RCC_RTCCLKSOURCE_NONE, RCC_SAI1CLKSOURCE_PIN, RCC_SAI1CLKSOURCE_PLL, RCC_SAI1CLKSOURCE_PLLSAI1, RCC_SAI1CLKSOURCE_PLLSAI2, RCC_SAI2CLKSOURCE_PIN, RCC_SAI2CLKSOURCE_PLL, RCC_SAI2CLKSOURCE_PLLSAI1, RCC_SAI2CLKSOURCE_PLLSAI2, RCC_SDMMC1CLKSOURCE_PLL, RCC_SDMMC1CLKSOURCE_PLLSAI1, RCC_USBCLKSOURCE_PLL, RCC_USBCLKSOURCE_PLLSAI1, RCCEx_PLLSAI1_Config(), RCCEx_PLLSAI2_Config(), RCC_PeriphCLKInitTypeDef::RngClockSelection, RCC_PeriphCLKInitTypeDef::RTCClockSelection, RCC_PeriphCLKInitTypeDef::Sai1ClockSelection, RCC_PeriphCLKInitTypeDef::Sai2ClockSelection, RCC_PeriphCLKInitTypeDef::Sdmmc1ClockSelection, RCC_PeriphCLKInitTypeDef::Swpmi1ClockSelection, RCC_PeriphCLKInitTypeDef::Uart4ClockSelection, RCC_PeriphCLKInitTypeDef::Uart5ClockSelection, RCC_PeriphCLKInitTypeDef::Usart1ClockSelection, RCC_PeriphCLKInitTypeDef::Usart2ClockSelection, RCC_PeriphCLKInitTypeDef::Usart3ClockSelection, and RCC_PeriphCLKInitTypeDef::UsbClockSelection.