STM32F439xx HAL User Manual
Functions
UTILS Private functions
UTILS

Functions

static uint32_t UTILS_GetPLLOutputFrequency (uint32_t PLL_InputFrequency, LL_UTILS_PLLInitTypeDef *UTILS_PLLInitStruct)
 Function to check that PLL can be modified.
static ErrorStatus UTILS_SetFlashLatency (uint32_t HCLK_Frequency)
 Update number of Flash wait states in line with new frequency and current voltage range.
static ErrorStatus UTILS_EnablePLLAndSwitchSystem (uint32_t SYSCLK_Frequency, LL_UTILS_ClkInitTypeDef *UTILS_ClkInitStruct)
 Function to enable PLL and switch system clock to PLL.
static ErrorStatus UTILS_PLL_IsBusy (void)
 Function to check that PLL can be modified.

Function Documentation

static ErrorStatus UTILS_EnablePLLAndSwitchSystem ( uint32_t  SYSCLK_Frequency,
LL_UTILS_ClkInitTypeDef UTILS_ClkInitStruct 
) [static]

Function to enable PLL and switch system clock to PLL.

Parameters:
SYSCLK_FrequencySYSCLK frequency
UTILS_ClkInitStructpointer to a LL_UTILS_ClkInitTypeDef structure that contains the configuration information for the BUS prescalers.
Return values:
AnErrorStatus enumeration value:
  • SUCCESS: No problem to switch system to PLL
  • ERROR: Problem to switch system to PLL

Definition at line 686 of file stm32f4xx_ll_utils.c.

References __LL_RCC_CALC_HCLK_FREQ, LL_UTILS_ClkInitTypeDef::AHBCLKDivider, LL_UTILS_ClkInitTypeDef::APB1CLKDivider, LL_UTILS_ClkInitTypeDef::APB2CLKDivider, assert_param, IS_LL_UTILS_APB1_DIV, IS_LL_UTILS_APB2_DIV, IS_LL_UTILS_SYSCLK_DIV, LL_RCC_GetSysClkSource(), LL_RCC_PLL_Enable(), LL_RCC_PLL_IsReady(), LL_RCC_SetAHBPrescaler(), LL_RCC_SetAPB1Prescaler(), LL_RCC_SetAPB2Prescaler(), LL_RCC_SetSysClkSource(), LL_RCC_SYS_CLKSOURCE_PLL, LL_RCC_SYS_CLKSOURCE_STATUS_PLL, LL_SetSystemCoreClock(), and UTILS_SetFlashLatency().

Referenced by LL_PLL_ConfigSystemClock_HSE(), and LL_PLL_ConfigSystemClock_HSI().

static uint32_t UTILS_GetPLLOutputFrequency ( uint32_t  PLL_InputFrequency,
LL_UTILS_PLLInitTypeDef UTILS_PLLInitStruct 
) [static]

Function to check that PLL can be modified.

Parameters:
PLL_InputFrequencyPLL input frequency (in Hz)
UTILS_PLLInitStructpointer to a LL_UTILS_PLLInitTypeDef structure that contains the configuration information for the PLL.
Return values:
PLLoutput frequency (in Hz)

Definition at line 616 of file stm32f4xx_ll_utils.c.

References assert_param, IS_LL_UTILS_PLL_FREQUENCY, IS_LL_UTILS_PLLM_VALUE, IS_LL_UTILS_PLLN_VALUE, IS_LL_UTILS_PLLP_VALUE, IS_LL_UTILS_PLLVCO_INPUT, IS_LL_UTILS_PLLVCO_OUTPUT, LL_UTILS_PLLInitTypeDef::PLLM, LL_UTILS_PLLInitTypeDef::PLLN, and LL_UTILS_PLLInitTypeDef::PLLP.

Referenced by LL_PLL_ConfigSystemClock_HSE(), and LL_PLL_ConfigSystemClock_HSI().

static ErrorStatus UTILS_PLL_IsBusy ( void  ) [static]

Function to check that PLL can be modified.

Return values:
AnErrorStatus enumeration value:
  • SUCCESS: PLL modification can be done
  • ERROR: PLL is busy

Definition at line 647 of file stm32f4xx_ll_utils.c.

References LL_RCC_PLL_IsReady(), LL_RCC_PLLI2S_IsReady(), and LL_RCC_PLLSAI_IsReady().

Referenced by LL_PLL_ConfigSystemClock_HSE(), and LL_PLL_ConfigSystemClock_HSI().

static ErrorStatus UTILS_SetFlashLatency ( uint32_t  HCLK_Frequency) [static]

Update number of Flash wait states in line with new frequency and current voltage range.

Note:
This Function support ONLY devices with supply voltage (voltage range) between 2.7V and 3.6V
Parameters:
HCLK_FrequencyHCLK frequency
Return values:
AnErrorStatus enumeration value:
  • SUCCESS: Latency has been modified
  • ERROR: Latency cannot be modified

Definition at line 493 of file stm32f4xx_ll_utils.c.

References LL_FLASH_GetLatency(), LL_FLASH_LATENCY_0, LL_FLASH_LATENCY_1, LL_FLASH_LATENCY_2, LL_FLASH_LATENCY_3, LL_FLASH_LATENCY_4, LL_FLASH_LATENCY_5, LL_FLASH_SetLatency(), LL_PWR_GetRegulVoltageScaling(), LL_PWR_REGU_VOLTAGE_SCALE1, LL_PWR_REGU_VOLTAGE_SCALE2, LL_PWR_REGU_VOLTAGE_SCALE3, UTILS_SCALE1_LATENCY1_FREQ, UTILS_SCALE1_LATENCY2_FREQ, UTILS_SCALE1_LATENCY3_FREQ, UTILS_SCALE1_LATENCY4_FREQ, UTILS_SCALE1_LATENCY5_FREQ, UTILS_SCALE2_LATENCY1_FREQ, UTILS_SCALE2_LATENCY2_FREQ, UTILS_SCALE2_LATENCY3_FREQ, UTILS_SCALE2_LATENCY4_FREQ, UTILS_SCALE2_LATENCY5_FREQ, UTILS_SCALE3_LATENCY1_FREQ, UTILS_SCALE3_LATENCY2_FREQ, and UTILS_SCALE3_LATENCY3_FREQ.

Referenced by UTILS_EnablePLLAndSwitchSystem().