STM32G474xx HAL 用户手册
函数
UTILS 私有函数
UTILS

函数

static uint32_t UTILS_GetPLLOutputFrequency (uint32_t PLL_InputFrequency, LL_UTILS_PLLInitTypeDef const *UTILS_PLLInitStruct)
 检查PLL是否可以被修改的函数。
static ErrorStatus UTILS_EnablePLLAndSwitchSystem (uint32_t SYSCLK_Frequency, LL_UTILS_ClkInitTypeDef *UTILS_ClkInitStruct)
 启用PLL并将系统时钟切换到PLL的函数。
static ErrorStatus UTILS_PLL_IsBusy (void)
 检查PLL是否可以被修改的函数。

函数文档

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

启用PLL并将系统时钟切换到PLL的函数。

参数:
SYSCLK_FrequencySYSCLK频率
UTILS_ClkInitStruct指向LL_UTILS_ClkInitTypeDef结构体的指针,该结构体包含总线预分频器的配置信息。
返回值:
一个ErrorStatus枚举值:
  • SUCCESS:切换系统到PLL没有问题
  • ERROR:切换系统到PLL出现问题

定义在文件 stm32g4xx_ll_utils.c 的第 638 行。

引用了 __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_EnableDomain_SYS(), 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_SetFlashLatency(), 和 LL_SetSystemCoreClock()

LL_PLL_ConfigSystemClock_HSE()LL_PLL_ConfigSystemClock_HSI() 引用。

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

检查PLL是否可以被修改的函数。

参数:
PLL_InputFrequencyPLL输入频率(单位:Hz)
UTILS_PLLInitStruct指向LL_UTILS_PLLInitTypeDef结构体的指针,该结构体包含PLL的配置信息。
返回值:
PLL输出频率(单位:Hz)

定义在文件 stm32g4xx_ll_utils.c 的第 584 行。

引用了 assert_param, IS_LL_UTILS_PLL_FREQUENCY, IS_LL_UTILS_PLLM_VALUE, IS_LL_UTILS_PLLN_VALUE, IS_LL_UTILS_PLLR_VALUE, IS_LL_UTILS_PLLVCO_INPUT, IS_LL_UTILS_PLLVCO_OUTPUT, LL_UTILS_PLLInitTypeDef::PLLM, LL_UTILS_PLLInitTypeDef::PLLN, 和 LL_UTILS_PLLInitTypeDef::PLLR

LL_PLL_ConfigSystemClock_HSE()LL_PLL_ConfigSystemClock_HSI() 引用。

static ErrorStatus UTILS_PLL_IsBusy ( void  ) [static]

检查PLL是否可以被修改的函数。

返回值:
一个ErrorStatus枚举值:
  • SUCCESS:可以进行PLL修改
  • ERROR:PLL正忙

定义在文件 stm32g4xx_ll_utils.c 的第 615 行。

引用了 LL_RCC_PLL_IsReady()

LL_PLL_ConfigSystemClock_HSE()LL_PLL_ConfigSystemClock_HSI() 引用。