STM32G474xx HAL 用户手册
定义 | 函数
stm32g4xx_hal_rcc.c 文件参考

RCC HAL 模块驱动程序。该文件提供固件函数,用于管理复位和时钟控制(RCC)外设的以下功能: + 初始化和反初始化函数 + 外设控制函数。 更多...

#include "stm32g4xx_hal.h"

跳转到该文件的源代码。

定义

#define HSE_TIMEOUT_VALUE   HSE_STARTUP_TIMEOUT
#define HSI_TIMEOUT_VALUE   2U /* 2 ms (minimum Tick + 1) */
#define LSI_TIMEOUT_VALUE   2U /* 2 ms (minimum Tick + 1) */
#define HSI48_TIMEOUT_VALUE   2U /* 2 ms (minimum Tick + 1) */
#define PLL_TIMEOUT_VALUE   2U /* 2 ms (minimum Tick + 1) */
#define CLOCKSWITCH_TIMEOUT_VALUE   5000U /* 5 s */
#define RCC_GET_MCO_GPIO_PIN(__RCC_MCOx__)   ((__RCC_MCOx__) & GPIO_PIN_MASK)
#define RCC_GET_MCO_GPIO_AF(__RCC_MCOx__)   (((__RCC_MCOx__) & RCC_MCO_GPIOAF_MASK) >> RCC_MCO_GPIOAF_POS)
#define RCC_GET_MCO_GPIO_INDEX(__RCC_MCOx__)   (((__RCC_MCOx__) & RCC_MCO_GPIOPORT_MASK) >> RCC_MCO_GPIOPORT_POS)
#define RCC_GET_MCO_GPIO_PORT(__RCC_MCOx__)   (AHB2PERIPH_BASE + ((0x00000400UL) * RCC_GET_MCO_GPIO_INDEX(__RCC_MCOx__)))
#define RCC_PLL_OSCSOURCE_CONFIG(__HAL_RCC_PLLSOURCE__)   (MODIFY_REG(RCC->PLLCFGR, RCC_PLLCFGR_PLLSRC, (__HAL_RCC_PLLSOURCE__)))

函数

static uint32_t RCC_GetSysClockFreqFromPLLSource (void)
 基于 PLL SYSCLK 源计算 SYSCLK 频率。
HAL_StatusTypeDef HAL_RCC_DeInit (void)
 将 RCC 时钟配置重置为默认复位状态。
HAL_StatusTypeDef HAL_RCC_OscConfig (const RCC_OscInitTypeDef *RCC_OscInitStruct)
 根据 RCC_OscInitTypeDef 中指定的参数初始化 RCC 振荡器。
HAL_StatusTypeDef HAL_RCC_ClockConfig (const RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t FLatency)
 根据 RCC_ClkInitStruct 中指定的参数初始化 CPU、AHB 和 APB 总线时钟。
void HAL_RCC_MCOConfig (uint32_t RCC_MCOx, uint32_t RCC_MCOSource, uint32_t RCC_MCODiv)
 选择要在 MCO 引脚(PA8/PG10)上输出的时钟源。
uint32_t HAL_RCC_GetSysClockFreq (void)
 返回 SYSCLK 频率。
uint32_t HAL_RCC_GetHCLKFreq (void)
 返回 HCLK 频率。
uint32_t HAL_RCC_GetPCLK1Freq (void)
 返回 PCLK1 频率。
uint32_t HAL_RCC_GetPCLK2Freq (void)
 返回 PCLK2 频率。
void HAL_RCC_GetOscConfig (RCC_OscInitTypeDef *RCC_OscInitStruct)
 根据内部 RCC 配置寄存器配置 RCC_OscInitStruct。
void HAL_RCC_GetClockConfig (RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t *pFLatency)
 根据内部 RCC 配置寄存器配置 RCC_ClkInitStruct。
void HAL_RCC_EnableCSS (void)
 启用时钟安全系统。
void HAL_RCC_EnableLSECSS (void)
 启用 LSE 时钟安全系统。
void HAL_RCC_DisableLSECSS (void)
 禁用 LSE 时钟安全系统。
void HAL_RCC_NMI_IRQHandler (void)
 处理 RCC 时钟安全系统中断请求。
__weak void HAL_RCC_CSSCallback (void)
 RCC 时钟安全系统中断回调。

详细描述

RCC HAL 模块驱动程序。该文件提供固件函数,用于管理复位和时钟控制(RCC)外设的以下功能: + 初始化和反初始化函数 + 外设控制函数。

作者:
MCD 应用团队
  ==============================================================================
                      ##### RCC specific features #####
  ==============================================================================
    [..]
      After reset the device is running from High Speed Internal oscillator
      (16 MHz) with Flash 0 wait state. Flash prefetch buffer, D-Cache
      and I-Cache are disabled, and all peripherals are off except internal
      SRAM, Flash and JTAG.

      (+) There is no prescaler on High speed (AHBs) and Low speed (APBs) buses:
          all peripherals mapped on these buses are running at HSI speed.
      (+) The clock for all peripherals is switched off, except the SRAM and FLASH.
      (+) All GPIOs are in analog mode, except the JTAG pins which
          are assigned to be used for debug purpose.

    [..]
      Once the device started from reset, the user application has to:
      (+) Configure the clock source to be used to drive the System clock
          (if the application needs higher frequency/performance)
      (+) Configure the System clock frequency and Flash settings
      (+) Configure the AHB and APB buses prescalers
      (+) Enable the clock for the peripheral(s) to be used
      (+) Configure the clock source(s) for peripherals which clocks are not
          derived from the System clock (USB, RNG, USART, LPUART, FDCAN, some TIMERs,
          UCPD, I2S, I2C, LPTIM, ADC, QSPI)

  
注意:

版权所有 (c) 2019 STMicroelectronics。保留所有权利。

本软件根据本软件组件根目录中 LICENSE 文件中可找到的条款进行许可。如果本软件没有附带 LICENSE 文件,则按“原样”提供。

定义在文件 stm32g4xx_hal_rcc.c 中。