STM32H735xx HAL User Manual
|
Initialization and Configuration functions. More...
Functions | |
HAL_StatusTypeDef | HAL_RCC_DeInit (void) |
Resets the RCC clock configuration to the default reset state. | |
__weak HAL_StatusTypeDef | HAL_RCC_OscConfig (RCC_OscInitTypeDef *RCC_OscInitStruct) |
Initializes the RCC Oscillators according to the specified parameters in the RCC_OscInitTypeDef. | |
HAL_StatusTypeDef | HAL_RCC_ClockConfig (RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t FLatency) |
Initializes the CPU, AHB and APB buses clocks according to the specified parameters in the RCC_ClkInitStruct. |
Initialization and Configuration functions.
=============================================================================== ##### Initialization and de-initialization functions ##### =============================================================================== [..] This section provides functions allowing to configure the internal/external oscillators (HSE, HSI, LSE,CSI, LSI,HSI48, PLL, CSS and MCO) and the System buses clocks (SYSCLK, AHB3, AHB1 AHB2,AHB4,APB3, APB1L, APB1H, APB2, and APB4). [..] Internal/external clock and PLL configuration (#) HSI (high-speed internal), 64 MHz factory-trimmed RC used directly or through the PLL as System clock source. (#) CSI is a low-power RC oscillator which can be used directly as system clock, peripheral clock, or PLL input.But even with frequency calibration, is less accurate than an external crystal oscillator or ceramic resonator. (#) LSI (low-speed internal), 32 KHz low consumption RC used as IWDG and/or RTC clock source. (#) HSE (high-speed external), 4 to 48 MHz crystal oscillator used directly or through the PLL as System clock source. Can be used also as RTC clock source. (#) LSE (low-speed external), 32 KHz oscillator used as RTC clock source. (#) PLL , The RCC features three independent PLLs (clocked by HSI , HSE or CSI), featuring three different output clocks and able to work either in integer or Fractional mode. (++) A main PLL, PLL1, which is generally used to provide clocks to the CPU and to some peripherals. (++) Two dedicated PLLs, PLL2 and PLL3, which are used to generate the kernel clock for peripherals. (#) CSS (Clock security system), once enabled and if a HSE clock failure occurs (HSE used directly or through PLL as System clock source), the System clock is automatically switched to HSI and an interrupt is generated if enabled. The interrupt is linked to the Cortex-M NMI (Non-Mask-able Interrupt) exception vector. (#) MCO1 (micro controller clock output), used to output HSI, LSE, HSE, PLL1(PLL1_Q) or HSI48 clock (through a configurable pre-scaler) on PA8 pin. (#) MCO2 (micro controller clock output), used to output HSE, PLL2(PLL2_P), SYSCLK, LSI, CSI, or PLL1(PLL1_P) clock (through a configurable pre-scaler) on PC9 pin. [..] System, AHB and APB buses clocks configuration (#) Several clock sources can be used to drive the System clock (SYSCLK): CSI,HSI, HSE and PLL. The AHB clock (HCLK) is derived from System core clock through configurable pre-scaler and used to clock the CPU, memory and peripherals mapped on AHB and APB bus of the 3 Domains (D1, D2, D3)* through configurable pre-scalers and used to clock the peripherals mapped on these buses. You can use "HAL_RCC_GetSysClockFreq()" function to retrieve system clock frequency. -@- All the peripheral clocks are derived from the System clock (SYSCLK) except those with dual clock domain where kernel source clock could be selected through RCC_D1CCIPR,RCC_D2CCIP1R,RCC_D2CCIP2R and RCC_D3CCIPR registers. (*) : 2 Domains (CD and SRD) for stm32h7a3xx and stm32h7b3xx family lines.
HAL_StatusTypeDef HAL_RCC_ClockConfig | ( | RCC_ClkInitTypeDef * | RCC_ClkInitStruct, |
uint32_t | FLatency | ||
) |
Initializes the CPU, AHB and APB buses clocks according to the specified parameters in the RCC_ClkInitStruct.
RCC_ClkInitStruct,: | pointer to an RCC_OscInitTypeDef structure that contains the configuration information for the RCC peripheral. |
FLatency,: | FLASH Latency, this parameter depend on device selected |
None |
Definition at line 901 of file stm32h7xx_hal_rcc.c.
References __HAL_FLASH_GET_LATENCY, __HAL_FLASH_SET_LATENCY, __HAL_RCC_GET_FLAG, __HAL_RCC_GET_SYSCLK_SOURCE, RCC_ClkInitTypeDef::AHBCLKDivider, RCC_ClkInitTypeDef::APB1CLKDivider, RCC_ClkInitTypeDef::APB2CLKDivider, RCC_ClkInitTypeDef::APB3CLKDivider, RCC_ClkInitTypeDef::APB4CLKDivider, assert_param, CLOCKSWITCH_TIMEOUT_VALUE, RCC_ClkInitTypeDef::ClockType, HAL_GetTick(), HAL_InitTick(), HAL_RCC_GetSysClockFreq(), IS_FLASH_LATENCY, IS_RCC_CDPCLK1, IS_RCC_CLOCKTYPE, IS_RCC_D1PCLK1, IS_RCC_D3PCLK1, IS_RCC_HCLK, IS_RCC_PCLK1, IS_RCC_PCLK2, IS_RCC_SRDPCLK1, IS_RCC_SYSCLK, IS_RCC_SYSCLKSOURCE, RCC_CLOCKTYPE_D1PCLK1, RCC_CLOCKTYPE_D3PCLK1, RCC_CLOCKTYPE_HCLK, RCC_CLOCKTYPE_PCLK1, RCC_CLOCKTYPE_PCLK2, RCC_CLOCKTYPE_SYSCLK, RCC_FLAG_CSIRDY, RCC_FLAG_HSERDY, RCC_FLAG_HSIRDY, RCC_FLAG_PLLRDY, RCC_SYSCLKSOURCE_CSI, RCC_SYSCLKSOURCE_HSE, RCC_SYSCLKSOURCE_PLLCLK, RCC_ClkInitTypeDef::SYSCLKDivider, RCC_ClkInitTypeDef::SYSCLKSource, and uwTickPrio.
HAL_StatusTypeDef HAL_RCC_DeInit | ( | void | ) |
Resets the RCC clock configuration to the default reset state.
HAL | status |
Definition at line 188 of file stm32h7xx_hal_rcc.c.
References __HAL_FLASH_GET_LATENCY, __HAL_FLASH_SET_LATENCY, CLOCKSWITCH_TIMEOUT_VALUE, HAL_GetTick(), HAL_InitTick(), HSE_TIMEOUT_VALUE, HSI_TIMEOUT_VALUE, HSI_VALUE, PLL_TIMEOUT_VALUE, and uwTickPrio.
HAL_StatusTypeDef HAL_RCC_OscConfig | ( | RCC_OscInitTypeDef * | RCC_OscInitStruct | ) |
Initializes the RCC Oscillators according to the specified parameters in the RCC_OscInitTypeDef.
RCC_OscInitStruct,: | pointer to an RCC_OscInitTypeDef structure that contains the configuration information for the RCC Oscillators. |
HAL | status |
Definition at line 405 of file stm32h7xx_hal_rcc.c.
References __HAL_RCC_CSI_CALIBRATIONVALUE_ADJUST, __HAL_RCC_CSI_DISABLE, __HAL_RCC_CSI_ENABLE, __HAL_RCC_GET_FLAG, __HAL_RCC_GET_SYSCLK_SOURCE, __HAL_RCC_HSE_CONFIG, __HAL_RCC_HSI48_DISABLE, __HAL_RCC_HSI48_ENABLE, __HAL_RCC_HSI_CALIBRATIONVALUE_ADJUST, __HAL_RCC_HSI_CONFIG, __HAL_RCC_HSI_DISABLE, __HAL_RCC_LSE_CONFIG, __HAL_RCC_LSI_DISABLE, __HAL_RCC_LSI_ENABLE, __HAL_RCC_PLL_CONFIG, __HAL_RCC_PLL_DISABLE, __HAL_RCC_PLL_ENABLE, __HAL_RCC_PLL_VCIRANGE, __HAL_RCC_PLL_VCORANGE, __HAL_RCC_PLLCLKOUT_ENABLE, __HAL_RCC_PLLFRACN_CONFIG, __HAL_RCC_PLLFRACN_DISABLE, __HAL_RCC_PLLFRACN_ENABLE, assert_param, CSI_TIMEOUT_VALUE, RCC_OscInitTypeDef::CSICalibrationValue, RCC_OscInitTypeDef::CSIState, HAL_GetTick(), HSE_TIMEOUT_VALUE, RCC_OscInitTypeDef::HSEState, HSI48_TIMEOUT_VALUE, RCC_OscInitTypeDef::HSI48State, HSI_TIMEOUT_VALUE, RCC_OscInitTypeDef::HSICalibrationValue, RCC_OscInitTypeDef::HSIState, IS_RCC_CSI, IS_RCC_CSICALIBRATION_VALUE, IS_RCC_HSE, IS_RCC_HSI, IS_RCC_HSI48, IS_RCC_HSICALIBRATION_VALUE, IS_RCC_LSE, IS_RCC_LSI, IS_RCC_OSCILLATORTYPE, IS_RCC_PLL, IS_RCC_PLLFRACN_VALUE, IS_RCC_PLLM_VALUE, IS_RCC_PLLN_VALUE, IS_RCC_PLLP_VALUE, IS_RCC_PLLQ_VALUE, IS_RCC_PLLR_VALUE, IS_RCC_PLLRGE_VALUE, IS_RCC_PLLSOURCE, IS_RCC_PLLVCO_VALUE, RCC_OscInitTypeDef::LSEState, LSI_TIMEOUT_VALUE, RCC_OscInitTypeDef::LSIState, RCC_OscInitTypeDef::OscillatorType, RCC_OscInitTypeDef::PLL, PLL_TIMEOUT_VALUE, RCC_PLLInitTypeDef::PLLFRACN, RCC_PLLInitTypeDef::PLLM, RCC_PLLInitTypeDef::PLLN, RCC_PLLInitTypeDef::PLLP, RCC_PLLInitTypeDef::PLLQ, RCC_PLLInitTypeDef::PLLR, RCC_PLLInitTypeDef::PLLRGE, RCC_PLLInitTypeDef::PLLSource, RCC_PLLInitTypeDef::PLLState, RCC_PLLInitTypeDef::PLLVCOSEL, RCC_CSI_OFF, RCC_CSI_ON, RCC_DBP_TIMEOUT_VALUE, RCC_FLAG_CSIRDY, RCC_FLAG_HSERDY, RCC_FLAG_HSI48RDY, RCC_FLAG_HSIRDY, RCC_FLAG_LSERDY, RCC_FLAG_LSIRDY, RCC_FLAG_PLLRDY, RCC_HSE_OFF, RCC_HSI48_OFF, RCC_HSI_OFF, RCC_LSE_OFF, RCC_LSE_TIMEOUT_VALUE, RCC_LSI_OFF, RCC_OSCILLATORTYPE_CSI, RCC_OSCILLATORTYPE_HSE, RCC_OSCILLATORTYPE_HSI, RCC_OSCILLATORTYPE_HSI48, RCC_OSCILLATORTYPE_LSE, RCC_OSCILLATORTYPE_LSI, RCC_PLL1_DIVP, RCC_PLL1_DIVQ, RCC_PLL1_DIVR, RCC_PLL_NONE, RCC_PLL_OFF, and RCC_PLL_ON.