Go to the documentation of this file.
69 #include "stm32f4xx_hal.h"
80 #ifdef HAL_RCC_MODULE_ENABLED
89 #define __MCO1_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE()
90 #define MCO1_GPIO_PORT GPIOA
91 #define MCO1_PIN GPIO_PIN_8
93 #define __MCO2_CLK_ENABLE() __HAL_RCC_GPIOC_CLK_ENABLE()
94 #define MCO2_GPIO_PORT GPIOC
95 #define MCO2_PIN GPIO_PIN_9
223 uint32_t tickstart, pll_config;
226 if(RCC_OscInitStruct ==
NULL)
456 if(pwrclkchanged ==
SET)
495 RCC_OscInitStruct->
PLL.
PLLM | \
542 pll_config =
RCC->PLLCFGR;
587 if(RCC_ClkInitStruct ==
NULL)
766 void HAL_RCC_MCOConfig(uint32_t RCC_MCOx, uint32_t RCC_MCOSource, uint32_t RCC_MCODiv)
781 GPIO_InitStruct.
Pin = MCO1_PIN;
792 #if defined(RCC_CFGR_MCO1EN)
793 __HAL_RCC_MCO1_ENABLE();
796 #if defined(RCC_CFGR_MCO2)
805 GPIO_InitStruct.
Pin = MCO2_PIN;
816 #if defined(RCC_CFGR_MCO2EN)
817 __HAL_RCC_MCO2_ENABLE();
878 uint32_t pllm = 0U, pllvco = 0U, pllp = 0U;
879 uint32_t sysclockfreq = 0U;
911 sysclockfreq = pllvco/pllp;
#define assert_param(expr)
Include module's header file.
#define __HAL_RCC_HSE_CONFIG(__STATE__)
Macro to configure the External High Speed oscillator (HSE).
HAL_StatusTypeDef
HAL Status structures definition
#define RCC_PLLCFGR_PLLP_Pos
#define RCC_CFGR_PPRE1_Pos
#define RCC_PLLSOURCE_HSI
#define HAL_IS_BIT_CLR(REG, BIT)
#define HSI_TIMEOUT_VALUE
#define IS_RCC_PLLSOURCE(SOURCE)
void HAL_RCC_GetOscConfig(RCC_OscInitTypeDef *RCC_OscInitStruct)
GPIO Init structure definition
void HAL_RCC_CSSCallback(void)
#define __HAL_RCC_PWR_CLK_DISABLE()
RCC System, AHB and APB busses clock configuration structure definition.
#define HSE_TIMEOUT_VALUE
#define __HAL_RCC_LSE_CONFIG(__STATE__)
Macro to configure the External Low Speed oscillator (LSE).
RCC Internal/External Oscillator (HSE, HSI, LSE and LSI) configuration structure definition.
#define __HAL_RCC_HSI_DISABLE()
#define PLL_TIMEOUT_VALUE
uint32_t HSICalibrationValue
#define IS_RCC_CLOCKTYPE(CLK)
#define IS_RCC_OSCILLATORTYPE(OSCILLATOR)
#define RCC_PLLCFGR_PLLSRC_HSI
uint32_t HAL_RCC_GetPCLK2Freq(void)
#define IS_RCC_MCO2SOURCE(SOURCE)
void HAL_RCC_GetClockConfig(RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t *pFLatency)
uint32_t HAL_GetTick(void)
Provides a tick value in millisecond.
#define __HAL_RCC_GET_PLL_OSCSOURCE()
Macro to get the oscillator used as PLL clock source.
#define RCC_PLLCFGR_PLLSRC_HSE
void HAL_RCC_NMI_IRQHandler(void)
#define __HAL_RCC_PLL_DISABLE()
#define IS_RCC_PLLQ_VALUE(VALUE)
#define __HAL_FLASH_SET_LATENCY(__LATENCY__)
Set the FLASH Latency.
#define RCC_SYSCLKSOURCE_PLLCLK
#define RCC_PLLCFGR_PLLSRC
HAL_StatusTypeDef HAL_RCC_DeInit(void)
#define IS_RCC_MCO1SOURCE(SOURCE)
#define RCC_PLLCFGR_PLLP_0
void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init)
#define IS_RCC_CALIBRATION_VALUE(VALUE)
#define RCC_CLOCKTYPE_PCLK1
#define __HAL_RCC_GET_IT(__INTERRUPT__)
Check the RCC's interrupt has occurred or not.
#define FLASH_ACR_LATENCY
#define HSI_VALUE
Internal High Speed oscillator (HSI) value. This value is used by the RCC HAL module to compute the s...
#define __HAL_FLASH_GET_LATENCY()
Get the FLASH Latency.
HAL_StatusTypeDef HAL_RCC_ClockConfig(RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t FLatency)
#define RCC_SYSCLKSOURCE_PLLRCLK
#define __HAL_RCC_CLEAR_IT(__INTERRUPT__)
Clear the RCC's interrupt pending bits (Perform Byte access to RCC_CIR[23:16] bits to clear the selec...
#define MODIFY_REG(REG, CLEARMASK, SETMASK)
#define RCC_OSCILLATORTYPE_HSI
#define GPIO_SPEED_FREQ_VERY_HIGH
HAL_StatusTypeDef HAL_RCC_OscConfig(RCC_OscInitTypeDef *RCC_OscInitStruct)
#define RCC_CFGR_HPRE_Pos
#define CLOCKSWITCH_TIMEOUT_VALUE
#define __HAL_RCC_HSI_ENABLE()
Macros to enable or disable the Internal High Speed oscillator (HSI).
#define RCC_CFGR_PPRE2_Pos
void HAL_RCC_DisableCSS(void)
#define RCC_CLOCKTYPE_PCLK2
#define RCC_OSCILLATORTYPE_LSE
#define IS_RCC_SYSCLKSOURCE(SOURCE)
#define IS_RCC_MCODIV(DIV)
#define READ_BIT(REG, BIT)
#define IS_RCC_HCLK(HCLK)
#define __HAL_RCC_SYSCLK_CONFIG(__RCC_SYSCLKSOURCE__)
Macro to configure the system clock source.
#define IS_RCC_PLLN_VALUE(VALUE)
#define RCC_CLOCKTYPE_SYSCLK
#define RCC_LSE_TIMEOUT_VALUE
void HAL_RCC_MCOConfig(uint32_t RCC_MCOx, uint32_t RCC_MCOSource, uint32_t RCC_MCODiv)
uint32_t HAL_RCC_GetHCLKFreq(void)
#define RCC_PLLCFGR_PLLQ_Pos
#define __HAL_RCC_PWR_CLK_ENABLE()
const uint8_t AHBPrescTable[16]
#define RCC_CLOCKTYPE_HCLK
#define __HAL_RCC_PLL_ENABLE()
Macros to enable or disable the main PLL.
#define __HAL_RCC_HSI_CALIBRATIONVALUE_ADJUST(__HSICalibrationValue__)
Macro to adjust the Internal High Speed oscillator (HSI) calibration value.
const uint8_t APBPrescTable[8]
#define __HAL_RCC_LSI_ENABLE()
Macros to enable or disable the Internal Low Speed oscillator (LSI).
uint32_t HAL_RCC_GetPCLK1Freq(void)
#define RCC_PLLCFGR_PLLN_Pos
#define __HAL_RCC_GET_FLAG(__FLAG__)
HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority)
This function configures the source of the time base. The time source is configured to have 1ms time ...
uint32_t HAL_RCC_GetSysClockFreq(void)
#define IS_FLASH_LATENCY(LATENCY)
#define __HAL_RCC_LSI_DISABLE()
#define RCC_DBP_TIMEOUT_VALUE
#define RCC_SYSCLKSOURCE_HSE
#define HSE_VALUE
Adjust the value of External High Speed oscillator (HSE) used in your application....
#define __HAL_RCC_GET_SYSCLK_SOURCE()
Macro to get the clock source used as system clock.
#define RCC_OSCILLATORTYPE_HSE
#define WRITE_REG(REG, VAL)
#define SET_BIT(REG, BIT)
#define LSI_TIMEOUT_VALUE
#define IS_RCC_PLLM_VALUE(VALUE)
#define IS_RCC_PLLP_VALUE(VALUE)
#define RCC_OSCILLATORTYPE_LSI
void HAL_RCC_EnableCSS(void)
#define IS_RCC_PCLK(PCLK)
#define RCC_CR_HSITRIM_Pos
#define __HAL_RCC_PWR_IS_CLK_DISABLED()