34#ifdef HAL_RCC_MODULE_ENABLED
41#define PLL2_TIMEOUT_VALUE PLL_TIMEOUT_VALUE
42#define PLL3_TIMEOUT_VALUE PLL_TIMEOUT_VALUE
44#define DIVIDER_P_UPDATE 0U
45#define DIVIDER_Q_UPDATE 1U
46#define DIVIDER_R_UPDATE 2U
128 ret = RCCEx_PLL2_Config(&(PeriphClkInit->
PLL2), DIVIDER_R_UPDATE);
134 ret = RCCEx_PLL3_Config(&(PeriphClkInit->
PLL3), DIVIDER_R_UPDATE);
175 ret = RCCEx_PLL2_Config(&(PeriphClkInit->
PLL2), DIVIDER_P_UPDATE);
181 ret = RCCEx_PLL3_Config(&(PeriphClkInit->
PLL3), DIVIDER_P_UPDATE);
217 switch (PeriphClkInit->Sai23ClockSelection)
219 case RCC_SAI23CLKSOURCE_PLL:
226 case RCC_SAI23CLKSOURCE_PLL2:
228 ret = RCCEx_PLL2_Config(&(PeriphClkInit->
PLL2), DIVIDER_P_UPDATE);
233 case RCC_SAI23CLKSOURCE_PLL3:
234 ret = RCCEx_PLL3_Config(&(PeriphClkInit->
PLL3), DIVIDER_P_UPDATE);
239 case RCC_SAI23CLKSOURCE_PIN:
244 case RCC_SAI23CLKSOURCE_CLKP:
257 __HAL_RCC_SAI23_CONFIG(PeriphClkInit->Sai23ClockSelection);
268#if defined(RCC_CDCCIP1R_SAI2ASEL)
272 switch (PeriphClkInit->Sai2AClockSelection)
274 case RCC_SAI2ACLKSOURCE_PLL:
281 case RCC_SAI2ACLKSOURCE_PLL2:
283 ret = RCCEx_PLL2_Config(&(PeriphClkInit->
PLL2), DIVIDER_P_UPDATE);
288 case RCC_SAI2ACLKSOURCE_PLL3:
289 ret = RCCEx_PLL3_Config(&(PeriphClkInit->
PLL3), DIVIDER_P_UPDATE);
294 case RCC_SAI2ACLKSOURCE_PIN:
299 case RCC_SAI2ACLKSOURCE_CLKP:
304 case RCC_SAI2ACLKSOURCE_SPDIF:
317 __HAL_RCC_SAI2A_CONFIG(PeriphClkInit->Sai2AClockSelection);
327#if defined(RCC_CDCCIP1R_SAI2BSEL)
332 switch (PeriphClkInit->Sai2BClockSelection)
334 case RCC_SAI2BCLKSOURCE_PLL:
341 case RCC_SAI2BCLKSOURCE_PLL2:
343 ret = RCCEx_PLL2_Config(&(PeriphClkInit->
PLL2), DIVIDER_P_UPDATE);
348 case RCC_SAI2BCLKSOURCE_PLL3:
349 ret = RCCEx_PLL3_Config(&(PeriphClkInit->
PLL3), DIVIDER_P_UPDATE);
354 case RCC_SAI2BCLKSOURCE_PIN:
359 case RCC_SAI2BCLKSOURCE_CLKP:
364 case RCC_SAI2BCLKSOURCE_SPDIF:
377 __HAL_RCC_SAI2B_CONFIG(PeriphClkInit->Sai2BClockSelection);
391 switch (PeriphClkInit->Sai4AClockSelection)
393 case RCC_SAI4ACLKSOURCE_PLL:
400 case RCC_SAI4ACLKSOURCE_PLL2:
402 ret = RCCEx_PLL2_Config(&(PeriphClkInit->
PLL2), DIVIDER_P_UPDATE);
407 case RCC_SAI4ACLKSOURCE_PLL3:
408 ret = RCCEx_PLL3_Config(&(PeriphClkInit->
PLL3), DIVIDER_P_UPDATE);
413 case RCC_SAI4ACLKSOURCE_PIN:
418 case RCC_SAI4ACLKSOURCE_CLKP:
423#if defined(RCC_VER_3_0)
424 case RCC_SAI4ACLKSOURCE_SPDIF:
438 __HAL_RCC_SAI4A_CONFIG(PeriphClkInit->Sai4AClockSelection);
449 switch (PeriphClkInit->Sai4BClockSelection)
451 case RCC_SAI4BCLKSOURCE_PLL:
458 case RCC_SAI4BCLKSOURCE_PLL2:
460 ret = RCCEx_PLL2_Config(&(PeriphClkInit->
PLL2), DIVIDER_P_UPDATE);
465 case RCC_SAI4BCLKSOURCE_PLL3:
466 ret = RCCEx_PLL3_Config(&(PeriphClkInit->
PLL3), DIVIDER_P_UPDATE);
471 case RCC_SAI4BCLKSOURCE_PIN:
476 case RCC_SAI4BCLKSOURCE_CLKP:
481#if defined(RCC_VER_3_0)
482 case RCC_SAI4BCLKSOURCE_SPDIF:
496 __HAL_RCC_SAI4B_CONFIG(PeriphClkInit->Sai4BClockSelection);
510 switch (PeriphClkInit->QspiClockSelection)
512 case RCC_QSPICLKSOURCE_PLL:
519 case RCC_QSPICLKSOURCE_PLL2:
521 ret = RCCEx_PLL2_Config(&(PeriphClkInit->
PLL2), DIVIDER_R_UPDATE);
527 case RCC_QSPICLKSOURCE_CLKP:
532 case RCC_QSPICLKSOURCE_D1HCLK:
544 __HAL_RCC_QSPI_CONFIG(PeriphClkInit->QspiClockSelection);
554#if defined(OCTOSPI1) || defined(OCTOSPI2)
558 switch (PeriphClkInit->OspiClockSelection)
560 case RCC_OSPICLKSOURCE_PLL:
567 case RCC_OSPICLKSOURCE_PLL2:
569 ret = RCCEx_PLL2_Config(&(PeriphClkInit->
PLL2), DIVIDER_R_UPDATE);
575 case RCC_OSPICLKSOURCE_CLKP:
580 case RCC_OSPICLKSOURCE_HCLK:
592 __HAL_RCC_OSPI_CONFIG(PeriphClkInit->OspiClockSelection);
615 ret = RCCEx_PLL2_Config(&(PeriphClkInit->
PLL2), DIVIDER_P_UPDATE);
621 ret = RCCEx_PLL3_Config(&(PeriphClkInit->
PLL3), DIVIDER_P_UPDATE);
664 ret = RCCEx_PLL2_Config(&(PeriphClkInit->
PLL2), DIVIDER_Q_UPDATE);
669 ret = RCCEx_PLL3_Config(&(PeriphClkInit->
PLL3), DIVIDER_Q_UPDATE);
716 ret = RCCEx_PLL2_Config(&(PeriphClkInit->
PLL2), DIVIDER_Q_UPDATE);
721 ret = RCCEx_PLL3_Config(&(PeriphClkInit->
PLL3), DIVIDER_Q_UPDATE);
739#if defined(RCC_SPI6CLKSOURCE_PIN)
767 switch (PeriphClkInit->DsiClockSelection)
770 case RCC_DSICLKSOURCE_PLL2:
772 ret = RCCEx_PLL2_Config(&(PeriphClkInit->
PLL2), DIVIDER_Q_UPDATE);
777 case RCC_DSICLKSOURCE_PHY:
790 __HAL_RCC_DSI_CONFIG(PeriphClkInit->DsiClockSelection);
800#if defined(FDCAN1) || defined(FDCAN2)
804 switch (PeriphClkInit->FdcanClockSelection)
806 case RCC_FDCANCLKSOURCE_PLL:
813 case RCC_FDCANCLKSOURCE_PLL2:
815 ret = RCCEx_PLL2_Config(&(PeriphClkInit->
PLL2), DIVIDER_Q_UPDATE);
820 case RCC_FDCANCLKSOURCE_HSE:
833 __HAL_RCC_FDCAN_CONFIG(PeriphClkInit->FdcanClockSelection);
857 ret = RCCEx_PLL2_Config(&(PeriphClkInit->
PLL2), DIVIDER_R_UPDATE);
969 ret = RCCEx_PLL2_Config(&(PeriphClkInit->
PLL2), DIVIDER_Q_UPDATE);
974 ret = RCCEx_PLL3_Config(&(PeriphClkInit->
PLL3), DIVIDER_Q_UPDATE);
1020 ret = RCCEx_PLL2_Config(&(PeriphClkInit->
PLL2), DIVIDER_Q_UPDATE);
1025 ret = RCCEx_PLL3_Config(&(PeriphClkInit->
PLL3), DIVIDER_Q_UPDATE);
1071 ret = RCCEx_PLL2_Config(&(PeriphClkInit->
PLL2), DIVIDER_Q_UPDATE);
1076 ret = RCCEx_PLL3_Config(&(PeriphClkInit->
PLL3), DIVIDER_Q_UPDATE);
1123 ret = RCCEx_PLL2_Config(&(PeriphClkInit->
PLL2), DIVIDER_P_UPDATE);
1129 ret = RCCEx_PLL3_Config(&(PeriphClkInit->
PLL3), DIVIDER_R_UPDATE);
1176 ret = RCCEx_PLL2_Config(&(PeriphClkInit->
PLL2), DIVIDER_P_UPDATE);
1182 ret = RCCEx_PLL3_Config(&(PeriphClkInit->
PLL3), DIVIDER_R_UPDATE);
1229 ret = RCCEx_PLL2_Config(&(PeriphClkInit->
PLL2), DIVIDER_P_UPDATE);
1235 ret = RCCEx_PLL3_Config(&(PeriphClkInit->
PLL3), DIVIDER_R_UPDATE);
1276 assert_param(IS_RCC_I2C1235CLKSOURCE(PeriphClkInit->I2c1235ClockSelection));
1278 if ((PeriphClkInit->I2c1235ClockSelection) == RCC_I2C1235CLKSOURCE_PLL3)
1280 if (RCCEx_PLL3_Config(&(PeriphClkInit->
PLL3), DIVIDER_R_UPDATE) !=
HAL_OK)
1297 if (RCCEx_PLL3_Config(&(PeriphClkInit->
PLL3), DIVIDER_R_UPDATE) !=
HAL_OK)
1316 if (RCCEx_PLL3_Config(&(PeriphClkInit->
PLL3), DIVIDER_R_UPDATE) !=
HAL_OK)
1334 ret = RCCEx_PLL2_Config(&(PeriphClkInit->
PLL2), DIVIDER_P_UPDATE);
1340 ret = RCCEx_PLL3_Config(&(PeriphClkInit->
PLL3), DIVIDER_R_UPDATE);
1382 ret = RCCEx_PLL3_Config(&(PeriphClkInit->
PLL3), DIVIDER_Q_UPDATE);
1427 ret = RCCEx_PLL2_Config(&(PeriphClkInit->
PLL2), DIVIDER_R_UPDATE);
1453 if (RCCEx_PLL3_Config(&(PeriphClkInit->
PLL3), DIVIDER_R_UPDATE) !=
HAL_OK)
1519 assert_param(IS_RCC_HRTIM1CLKSOURCE(PeriphClkInit->Hrtim1ClockSelection));
1522 __HAL_RCC_HRTIM1_CONFIG(PeriphClkInit->Hrtim1ClockSelection);
1535#if defined(DFSDM2_BASE)
1540 assert_param(IS_RCC_DFSDM2CLKSOURCE(PeriphClkInit->Dfsdm2ClockSelection));
1543 __HAL_RCC_DFSDM2_CONFIG(PeriphClkInit->Dfsdm2ClockSelection);
1580 ret = RCCEx_PLL2_Config(&(PeriphClkInit->
PLL2), DIVIDER_P_UPDATE);
1596 ret = RCCEx_PLL2_Config(&(PeriphClkInit->
PLL2), DIVIDER_Q_UPDATE);
1612 ret = RCCEx_PLL2_Config(&(PeriphClkInit->
PLL2), DIVIDER_R_UPDATE);
1629 ret = RCCEx_PLL3_Config(&(PeriphClkInit->
PLL3), DIVIDER_P_UPDATE);
1645 ret = RCCEx_PLL3_Config(&(PeriphClkInit->
PLL3), DIVIDER_Q_UPDATE);
1661 ret = RCCEx_PLL3_Config(&(PeriphClkInit->
PLL3), DIVIDER_R_UPDATE);
1709#if defined(RCC_CDCCIP1R_SAI2ASEL)
1712#if defined(RCC_CDCCIP1R_SAI2BSEL)
1722#if defined(DFSDM2_BASE)
1728#if defined(OCTOSPI1) || defined(OCTOSPI2)
1782 PeriphClkInit->Sai23ClockSelection = __HAL_RCC_GET_SAI23_SOURCE();
1784#if defined(RCC_CDCCIP1R_SAI2ASEL_0)
1786 PeriphClkInit->Sai2AClockSelection = __HAL_RCC_GET_SAI2A_SOURCE();
1788#if defined(RCC_CDCCIP1R_SAI2BSEL_0)
1790 PeriphClkInit->Sai2BClockSelection = __HAL_RCC_GET_SAI2B_SOURCE();
1794 PeriphClkInit->Sai4AClockSelection = __HAL_RCC_GET_SAI4A_SOURCE();
1796 PeriphClkInit->Sai4BClockSelection = __HAL_RCC_GET_SAI4B_SOURCE();
1808 PeriphClkInit->Hrtim1ClockSelection = __HAL_RCC_GET_HRTIM1_SOURCE();
1816#if defined(DFSDM2_BASE)
1818 PeriphClkInit->Dfsdm2ClockSelection = __HAL_RCC_GET_DFSDM2_SOURCE();
1829 PeriphClkInit->FdcanClockSelection = __HAL_RCC_GET_FDCAN_SOURCE();
1836 PeriphClkInit->QspiClockSelection = __HAL_RCC_GET_QSPI_SOURCE();
1838#if defined(OCTOSPI1) || defined(OCTOSPI2)
1840 PeriphClkInit->OspiClockSelection = __HAL_RCC_GET_OSPI_SOURCE();
1845 PeriphClkInit->DsiClockSelection = __HAL_RCC_GET_DSI_SOURCE();
1890 uint32_t saiclocksource;
1891 uint32_t ckpclocksource;
1899 switch (saiclocksource)
1988 else if (PeriphClk == RCC_PERIPHCLK_SAI23)
1991 saiclocksource = __HAL_RCC_GET_SAI23_SOURCE();
1993 switch (saiclocksource)
1995 case RCC_SAI23CLKSOURCE_PLL:
2008 case RCC_SAI23CLKSOURCE_PLL2:
2022 case RCC_SAI23CLKSOURCE_PLL3:
2036 case RCC_SAI23CLKSOURCE_CLKP:
2068 case (RCC_SAI23CLKSOURCE_PIN):
2082#if defined(RCC_CDCCIP1R_SAI2ASEL)
2084 else if (PeriphClk == RCC_PERIPHCLK_SAI2A)
2086 saiclocksource = __HAL_RCC_GET_SAI2A_SOURCE();
2088 switch (saiclocksource)
2090 case RCC_SAI2ACLKSOURCE_PLL:
2103 case RCC_SAI2ACLKSOURCE_PLL2:
2117 case RCC_SAI2ACLKSOURCE_PLL3:
2131 case RCC_SAI2ACLKSOURCE_CLKP:
2163 case (RCC_SAI2ACLKSOURCE_PIN):
2179#if defined(RCC_CDCCIP1R_SAI2BSEL_0)
2180 else if (PeriphClk == RCC_PERIPHCLK_SAI2B)
2183 saiclocksource = __HAL_RCC_GET_SAI2B_SOURCE();
2185 switch (saiclocksource)
2187 case RCC_SAI2BCLKSOURCE_PLL:
2200 case RCC_SAI2BCLKSOURCE_PLL2:
2214 case RCC_SAI2BCLKSOURCE_PLL3:
2228 case RCC_SAI2BCLKSOURCE_CLKP:
2259 case (RCC_SAI2BCLKSOURCE_PIN):
2275 else if (PeriphClk == RCC_PERIPHCLK_SAI4A)
2278 saiclocksource = __HAL_RCC_GET_SAI4A_SOURCE();
2280 switch (saiclocksource)
2282 case RCC_SAI4ACLKSOURCE_PLL:
2295 case RCC_SAI4ACLKSOURCE_PLL2:
2309 case RCC_SAI4ACLKSOURCE_PLL3:
2323 case RCC_SAI4ACLKSOURCE_CLKP:
2355 case RCC_SAI4ACLKSOURCE_PIN:
2369 else if (PeriphClk == RCC_PERIPHCLK_SAI4B)
2372 saiclocksource = __HAL_RCC_GET_SAI4B_SOURCE();
2374 switch (saiclocksource)
2376 case RCC_SAI4BCLKSOURCE_PLL:
2389 case RCC_SAI4BCLKSOURCE_PLL2:
2403 case RCC_SAI4BCLKSOURCE_PLL3:
2417 case RCC_SAI4BCLKSOURCE_CLKP:
2449 case RCC_SAI4BCLKSOURCE_PIN:
2823#if defined(RCC_SPI6CLKSOURCE_PIN)
2840 srcclk = __HAL_RCC_GET_FDCAN_SOURCE();
2844 case RCC_FDCANCLKSOURCE_HSE:
2856 case RCC_FDCANCLKSOURCE_PLL:
2869 case RCC_FDCANCLKSOURCE_PLL2:
2906#if defined(RCC_D1CFGR_D1PPRE)
2923#if defined(RCC_D3CFGR_D3PPRE)
2947 uint32_t pllsource, pll2m, pll2fracen, hsivalue;
2948 float_t fracn2, pll2vco;
2968 pll2vco = ((float_t)hsivalue / (float_t)pll2m) * ((float_t)(uint32_t)(
RCC->PLL2DIVR &
RCC_PLL2DIVR_N2) + (fracn2 / (float_t)0x2000) + (float_t)1);
2972 pll2vco = ((float_t)
HSI_VALUE / (float_t)pll2m) * ((float_t)(uint32_t)(
RCC->PLL2DIVR &
RCC_PLL2DIVR_N2) + (fracn2 / (float_t)0x2000) + (float_t)1);
2977 pll2vco = ((float_t)
CSI_VALUE / (float_t)pll2m) * ((float_t)(uint32_t)(
RCC->PLL2DIVR &
RCC_PLL2DIVR_N2) + (fracn2 / (float_t)0x2000) + (float_t)1);
2981 pll2vco = ((float_t)
HSE_VALUE / (float_t)pll2m) * ((float_t)(uint32_t)(
RCC->PLL2DIVR &
RCC_PLL2DIVR_N2) + (fracn2 / (float_t)0x2000) + (float_t)1);
2985 pll2vco = ((float_t)
CSI_VALUE / (float_t)pll2m) * ((float_t)(uint32_t)(
RCC->PLL2DIVR &
RCC_PLL2DIVR_N2) + (fracn2 / (float_t)0x2000) + (float_t)1);
3016 uint32_t pllsource, pll3m, pll3fracen, hsivalue;
3017 float_t fracn3, pll3vco;
3036 pll3vco = ((float_t)hsivalue / (float_t)pll3m) * ((float_t)(uint32_t)(
RCC->PLL3DIVR &
RCC_PLL3DIVR_N3) + (fracn3 / (float_t)0x2000) + (float_t)1);
3040 pll3vco = ((float_t)
HSI_VALUE / (float_t)pll3m) * ((float_t)(uint32_t)(
RCC->PLL3DIVR &
RCC_PLL3DIVR_N3) + (fracn3 / (float_t)0x2000) + (float_t)1);
3044 pll3vco = ((float_t)
CSI_VALUE / (float_t)pll3m) * ((float_t)(uint32_t)(
RCC->PLL3DIVR &
RCC_PLL3DIVR_N3) + (fracn3 / (float_t)0x2000) + (float_t)1);
3048 pll3vco = ((float_t)
HSE_VALUE / (float_t)pll3m) * ((float_t)(uint32_t)(
RCC->PLL3DIVR &
RCC_PLL3DIVR_N3) + (fracn3 / (float_t)0x2000) + (float_t)1);
3052 pll3vco = ((float_t)
CSI_VALUE / (float_t)pll3m) * ((float_t)(uint32_t)(
RCC->PLL3DIVR &
RCC_PLL3DIVR_N3) + (fracn3 / (float_t)0x2000) + (float_t)1);
3084 uint32_t pllsource, pll1m, pll1fracen, hsivalue;
3085 float_t fracn1, pll1vco;
3102 pll1vco = ((float_t)hsivalue / (float_t)pll1m) * ((float_t)(uint32_t)(
RCC->PLL1DIVR &
RCC_PLL1DIVR_N1) + (fracn1 / (float_t)0x2000) + (float_t)1);
3106 pll1vco = ((float_t)
HSI_VALUE / (float_t)pll1m) * ((float_t)(uint32_t)(
RCC->PLL1DIVR &
RCC_PLL1DIVR_N1) + (fracn1 / (float_t)0x2000) + (float_t)1);
3110 pll1vco = ((float_t)
CSI_VALUE / (float_t)pll1m) * ((float_t)(uint32_t)(
RCC->PLL1DIVR &
RCC_PLL1DIVR_N1) + (fracn1 / (float_t)0x2000) + (float_t)1);
3114 pll1vco = ((float_t)
HSE_VALUE / (float_t)pll1m) * ((float_t)(uint32_t)(
RCC->PLL1DIVR &
RCC_PLL1DIVR_N1) + (fracn1 / (float_t)0x2000) + (float_t)1);
3118 pll1vco = ((float_t)
HSI_VALUE / (float_t)pll1m) * ((float_t)(uint32_t)(
RCC->PLL1DIVR &
RCC_PLL1DIVR_N1) + (fracn1 / (float_t)0x2000) + (float_t)1);
3145 uint32_t common_system_clock;
3147#if defined(RCC_D1CFGR_D1CPRE)
3154#if defined(RCC_D1CFGR_HPRE)
3160#if defined(DUAL_CORE) && defined(CORE_CM4)
3166 return common_system_clock;
3214#if defined(DUAL_CORE) && defined(CORE_CM4)
3215 __HAL_RCC_C2_LSECSS_EXTI_ENABLE_IT();
3254#if defined(DUAL_CORE)
3265void HAL_RCCEx_EnableBootCore(uint32_t RCC_BootCx)
3273#if defined(DUAL_CORE)
3284void HAL_RCCEx_WWDGxSysResetConfig(uint32_t RCC_WWDGx)
3291#if defined(RCC_GCR_WW1RSC)
3301void HAL_RCCEx_WWDGxSysResetConfig(uint32_t RCC_WWDGx)
3488 if (((
HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U))
3725 if ((
HAL_GetTick() - tickstart) > PLL2_TIMEOUT_VALUE)
3754 if (Divider == DIVIDER_P_UPDATE)
3758 else if (Divider == DIVIDER_Q_UPDATE)
3776 if ((
HAL_GetTick() - tickstart) > PLL2_TIMEOUT_VALUE)
3828 if ((
HAL_GetTick() - tickstart) > PLL3_TIMEOUT_VALUE)
3857 if (Divider == DIVIDER_P_UPDATE)
3861 else if (Divider == DIVIDER_Q_UPDATE)
3879 if ((
HAL_GetTick() - tickstart) > PLL3_TIMEOUT_VALUE)
#define CLEAR_BIT(REG, BIT)
#define SET_BIT(REG, BIT)
#define WRITE_REG(REG, VAL)
#define MODIFY_REG(REG, CLEARMASK, SETMASK)
#define READ_BIT(REG, BIT)
uint32_t HAL_GetREVID(void)
Returns the device revision identifier.
uint32_t HAL_GetTick(void)
Provides a tick value in millisecond.
#define RCC_PLL3DIVR_N3_Pos
#define RCC_PLLCFGR_PLL2RGE_Pos
#define PWR_CR1_DBP
Disable Back-up domain Protection.
#define RCC_CR_CSIRDY
The Internal RC 4MHz oscillator clock ready.
#define RCC_D1CFGR_D1PPRE_Pos
#define RCC_D1CFGR_D1PPRE
D1PRE[2:0] bits (APB3 prescaler).
#define RCC_PLL2DIVR_N2_Pos
#define RCC_CR_PLL2RDY
System PLL2 clock ready.
#define RCC_D1CFGR_D1CPRE
D1CPRE[2:0] bits (Domain 1 Core prescaler).
#define RCC_CR_PLL1RDY
System PLL1 clock ready.
#define RCC_PLLCFGR_PLL2FRACEN
#define RCC_CR_PLL3RDY
System PLL3 clock ready.
#define RCC_PLLCFGR_PLL2RGE
#define CRS_ISR_FECAP_Pos
#define CRS_CR_SWSYNC
Generate software SYNC event.
#define RCC_PLLCKSELR_PLLSRC
#define RCC_PLLCKSELR_DIVM2
#define CRS_CFGR_FELIM_Pos
#define RCC_PLLCFGR_PLL2FRACEN_Pos
#define RCC_PLL3FRACR_FRACN3
#define RCC_PLLCKSELR_DIVM1
#define RCC_CFGR_TIMPRE
0x00008000
#define RCC_PLLCKSELR_DIVM3
#define RCC_BDCR_LSECSSON
#define CRS_CR_TRIM
HSI48 oscillator smooth trimming.
#define RCC_PLLCKSELR_DIVM2_Pos
#define RCC_PLL2FRACR_FRACN2
#define RCC_PLLCFGR_PLL2VCOSEL_Pos
#define RCC_PLLCFGR_PLL3VCOSEL
#define CRS_CFGR_RELOAD
Counter reload value.
#define RCC_PLL3DIVR_Q3_Pos
#define RCC_CR_HSERDY
External High Speed clock ready.
#define RCC_PLL3DIVR_P3_Pos
#define RCC_D3CFGR_D3PPRE
D3PPRE1[2:0] bits (APB4 prescaler).
#define RCC_PLLCFGR_PLL3RGE_Pos
#define CRS_ISR_FEDIR
Frequency error direction.
#define RCC_D1CFGR_HPRE
HPRE[3:0] bits (AHB3 prescaler).
#define RCC_PLL2DIVR_Q2_Pos
#define RCC_PLLCFGR_PLL3VCOSEL_Pos
#define RCC_CR_HSIRDY
Internal High Speed clock ready flag.
#define CRS_ICR_SYNCOKC
SYNC event OK clear flag.
#define RCC_PLLCKSELR_DIVM3_Pos
#define CRS_ICR_SYNCWARNC
SYNC warning clear flag.
#define RCC_D3CFGR_D3PPRE_Pos
< D3PPRE configuration
#define RCC_PLLCFGR_PLL3FRACEN
#define RCC_PLLCFGR_PLL3RGE
#define RCC_PLLCFGR_PLL1FRACEN
#define CRS_CR_CEN
Frequency error counter enable.
#define RCC_PLL2DIVR_R2_Pos
#define CRS_ICR_ESYNCC
Expected SYNC clear flag.
#define RCC_PLLCFGR_PLL3FRACEN_Pos
#define RCC_PLL3DIVR_R3_Pos
#define CRS_ICR_ERRC
Error clear flag.
#define RCC_PLL1FRACR_FRACN1
#define RCC_D1CFGR_D1CPRE_Pos
#define CRS_ISR_FECAP
Frequency error capture.
#define RCC_PLL2DIVR_P2_Pos
#define RCC_D1CFGR_HPRE_Pos
< D1HPRE configuration
#define CRS_CR_AUTOTRIMEN
Automatic trimming enable.
#define RCC_PLLCFGR_PLL2VCOSEL
#define RCC_ADCCLKSOURCE_CLKP
#define RCC_ADCCLKSOURCE_PLL2
#define RCC_ADCCLKSOURCE_PLL3
#define RCC_CLKPSOURCE_CSI
#define RCC_CLKPSOURCE_HSI
#define RCC_CLKPSOURCE_HSE
#define RCC_CRS_FLAG_ESYNC
Expected SYNC flag.
#define RCC_CRS_FLAG_SYNCWARN
SYNC warning flag.
#define RCC_CRS_FLAG_SYNCOK
SYNC event OK flag.
#define RCC_CRS_FLAG_TRIMOVF
Trimming overflow or underflow.
#define RCC_CRS_FLAG_SYNCMISS
SYNC missed.
#define RCC_CRS_FLAG_ERR
Error flag.
#define RCC_CRS_FLAG_SYNCERR
SYNC error.
#define RCC_CRS_IT_ERR
Error.
#define RCC_CRS_IT_SYNCOK
SYNC event OK.
#define RCC_CRS_IT_SYNCWARN
SYNC warning.
#define RCC_CRS_IT_ESYNC
Expected SYNC.
#define RCC_CRS_SYNC_SOURCE_USB2
Synchro Signal source USB2 SOF.
#define RCC_CRS_SYNC_SOURCE_PIN
Synchro Signal source external pin, Available on STM32H7 Rev.B and above devices only.
HAL_StatusTypeDef HAL_RCCEx_PeriphCLKConfig(RCC_PeriphCLKInitTypeDef *PeriphClkInit)
uint32_t HAL_RCCEx_GetD3PCLK1Freq(void)
void HAL_RCCEx_GetPeriphCLKConfig(RCC_PeriphCLKInitTypeDef *PeriphClkInit)
uint32_t HAL_RCCEx_GetD1PCLK1Freq(void)
void HAL_RCCEx_GetPLL3ClockFreq(PLL3_ClocksTypeDef *PLL3_Clocks)
void HAL_RCCEx_GetPLL1ClockFreq(PLL1_ClocksTypeDef *PLL1_Clocks)
uint32_t HAL_RCCEx_GetPeriphCLKFreq(uint64_t PeriphClk)
uint32_t HAL_RCCEx_GetD1SysClockFreq(void)
void HAL_RCCEx_GetPLL2ClockFreq(PLL2_ClocksTypeDef *PLL2_Clocks)
void HAL_RCCEx_KerWakeUpStopCLKConfig(uint32_t WakeUpClk)
void HAL_RCCEx_LSECSS_Callback(void)
void HAL_RCCEx_EnableLSECSS(void)
void HAL_RCCEx_LSECSS_IRQHandler(void)
void HAL_RCCEx_EnableLSECSS_IT(void)
void HAL_RCCEx_WakeUpStopCLKConfig(uint32_t WakeUpClk)
void HAL_RCCEx_DisableLSECSS(void)
void HAL_RCCEx_CRS_SyncWarnCallback(void)
void HAL_RCCEx_CRS_IRQHandler(void)
void HAL_RCCEx_CRS_ExpectedSyncCallback(void)
void HAL_RCCEx_CRS_ErrorCallback(uint32_t Error)
uint32_t HAL_RCCEx_CRSWaitSynchronization(uint32_t Timeout)
void HAL_RCCEx_CRSSoftwareSynchronizationGenerate(void)
void HAL_RCCEx_CRSGetSynchronizationInfo(RCC_CRSSynchroInfoTypeDef *pSynchroInfo)
void HAL_RCCEx_CRS_SyncOkCallback(void)
void HAL_RCCEx_CRSConfig(const RCC_CRSInitTypeDef *pInit)
#define __HAL_RCC_ADC_CONFIG(__ADCCLKSource__)
Macro to configure the ADC clock.
#define __HAL_RCC_SAI1_CONFIG(__RCC_SAI1CLKSource__)
Macro to Configure the SAI1 clock source.
#define __HAL_RCC_SPI6_CONFIG(__RCC_SPI6CLKSource__)
Macro to Configure the SPI6 clock source.
#define __HAL_RCC_LSECSS_EXTI_ENABLE_RISING_EDGE()
Enable the RCC LSE CSS Extended Interrupt Rising Trigger.
#define __HAL_RCC_FMC_CONFIG(__FMCCLKSource__)
macro to configure the FMC clock source.
#define __HAL_RCC_GET_LPUART1_SOURCE()
macro to get the LPUART1 clock source.
#define __HAL_RCC_PLL2_CONFIG(__PLL2M__, __PLL2N__, __PLL2P__, __PLL2Q__, __PLL2R__)
Macro to configures the PLL2 multiplication and division factors.
#define __HAL_RCC_I2C123_CONFIG
#define __HAL_RCC_USB_CONFIG(__USBCLKSource__)
Macro to configure the USB clock (USBCLK).
#define __HAL_RCC_PLL2_DISABLE()
#define __HAL_RCC_PLL2FRACN_ENABLE()
Enables or disables Fractional Part Of The Multiplication Factor of PLL2 VCO.
#define __HAL_RCC_LPUART1_CONFIG(__LPUART1CLKSource__)
macro to configure the LPUART1 clock (LPUART1CLK).
#define __HAL_RCC_GET_SPI123_SOURCE()
Macro to get the SPI1/2/3 clock source.
#define __HAL_RCC_TIMCLKPRESCALER(__PRESC__)
Macro to configure the Timers clocks prescalers.
#define __HAL_RCC_GET_USB_SOURCE()
Macro to get the USB clock source.
#define __HAL_RCC_GET_USART234578_SOURCE()
macro to get the USART2/3/4/5/7/8 clock source.
#define __HAL_RCC_GET_ADC_SOURCE()
Macro to get the ADC clock source.
#define __HAL_RCC_PLL2FRACN_DISABLE()
#define __HAL_RCC_PLL3FRACN_ENABLE()
Enables or disables Fractional Part Of The Multiplication Factor of PLL3 VCO.
#define __HAL_RCC_PLL3FRACN_CONFIG(__RCC_PLL3FRACN__)
Macro to configures PLL3 clock Fractional Part of The Multiplication Factor.
#define __HAL_RCC_GET_SWPMI1_SOURCE()
Macro to get the SWPMI1 clock source.
#define __HAL_RCC_LPTIM1_CONFIG(__LPTIM1CLKSource__)
macro to configure the LPTIM1 clock source.
#define __HAL_RCC_PLL3CLKOUT_ENABLE(__RCC_PLL3ClockOut__)
Enables or disables each clock output (PLL3_P_CLK, PLL3_Q_CLK, PLL3_R_CLK).
#define __HAL_RCC_GET_FMC_SOURCE()
macro to get the FMC clock source.
#define __HAL_RCC_PLL3FRACN_DISABLE()
#define __HAL_RCC_PLL3_VCIRANGE(__RCC_PLL3VCIRange__)
Macro to select the PLL3 reference frequency range.
#define __HAL_RCC_PLL2_VCORANGE(__RCC_PLL2VCORange__)
Macro to select the PLL2 reference frequency range.
#define __HAL_RCC_GET_DFSDM1_SOURCE()
Macro to get the DFSDM1 clock source.
#define __HAL_RCC_GET_CLKP_SOURCE()
Macro to get the Oscillator clock for peripheral source.
#define __HAL_RCC_USART234578_CONFIG(__USART234578CLKSource__)
macro to configure the USART234578 clock (USART234578CLK).
#define __HAL_RCC_GET_LPTIM345_SOURCE()
macro to get the LPTIM3/4/5 clock source.
#define __HAL_RCC_SPDIFRX_CONFIG(__RCC_SPDIFCLKSource__)
Macro to Configure the SPDIFRX clock source.
#define __HAL_RCC_SDMMC_CONFIG(__SDMMCCLKSource__)
Macro to configure the SDMMC clock.
#define __HAL_RCC_DFSDM1_CONFIG(__DFSDM1CLKSource__)
Macro to configure the DFSDM1 clock.
#define __HAL_RCC_GET_CEC_SOURCE()
macro to get the CEC clock source.
#define __HAL_RCC_CEC_CONFIG(__CECCLKSource__)
macro to configure the CEC clock (CECCLK).
#define __HAL_RCC_PLL3_VCORANGE(__RCC_PLL3VCORange__)
Macro to select the PLL3 reference frequency range.
#define __HAL_RCC_GET_LPTIM2_SOURCE()
macro to get the LPTIM2 clock source.
#define __HAL_RCC_PLL2_VCIRANGE(__RCC_PLL2VCIRange__)
Macro to select the PLL2 reference frequency range.
#define __HAL_RCC_SPI123_CONFIG(__RCC_SPI123CLKSource__)
Macro to Configure the SPI1/2/3 clock source.
#define __HAL_RCC_GET_SPI6_SOURCE()
Macro to get the SPI6 clock source.
#define __HAL_RCC_GET_SAI1_SOURCE()
Macro to get the SAI1 clock source.
#define __HAL_RCC_PLL3_DISABLE()
#define __HAL_RCC_CLKP_CONFIG(__CLKPSource__)
Macro to configure the CLKP : Oscillator clock for peripheral.
#define __HAL_RCC_GET_I2C1_SOURCE
macro to get the I2C1 clock source.
#define __HAL_RCC_LPTIM2_CONFIG(__LPTIM2CLKSource__)
macro to configure the LPTIM2 clock source.
#define __HAL_RCC_LPTIM345_CONFIG(__LPTIM345CLKSource__)
macro to configure the LPTIM3/4/5 clock source.
#define __HAL_RCC_SWPMI1_CONFIG(__SWPMI1CLKSource__)
Macro to configure the SWPMI1 clock.
#define __HAL_RCC_PLL2FRACN_CONFIG(__RCC_PLL2FRACN__)
Macro to configures PLL2 clock Fractional Part Of The Multiplication Factor.
#define __HAL_RCC_PLL3_CONFIG(__PLL3M__, __PLL3N__, __PLL3P__, __PLL3Q__, __PLL3R__)
Macro to configures the PLL3 multiplication and division factors.
#define __HAL_RCC_I2C4_CONFIG(__I2C4CLKSource__)
macro to configure the I2C4 clock (I2C4CLK).
#define __HAL_RCC_PLL3_ENABLE()
Macros to enable or disable the main PLL3.
#define __HAL_RCC_PLL2_ENABLE()
Macros to enable or disable PLL2.
#define __HAL_RCC_USART16_CONFIG
#define __HAL_RCC_GET_SDMMC_SOURCE()
Macro to get the SDMMC clock.
#define __HAL_RCC_GET_SPDIFRX_SOURCE()
Macro to get the SPDIFRX clock source.
#define __HAL_RCC_CRS_GET_FLAG(__FLAG__)
Check whether the specified CRS flag is set or not.
#define __HAL_RCC_GET_USART16_SOURCE
#define __HAL_RCC_GET_LPTIM1_SOURCE()
macro to get the LPTIM1 clock source.
#define __HAL_RCC_GET_RNG_SOURCE()
macro to get the RNG clock source.
#define __HAL_RCC_PLL2CLKOUT_ENABLE(__RCC_PLL2ClockOut__)
Enables or disables each clock output (PLL2_P_CLK, PLL2_Q_CLK, PLL2_R_CLK).
#define __HAL_RCC_RNG_CONFIG(__RNGCLKSource__)
macro to configure the RNG clock (RNGCLK).
#define __HAL_RCC_SPI45_CONFIG(__RCC_SPI45CLKSource__)
Macro to Configure the SPI4/5 clock source.
#define __HAL_RCC_CRS_CLEAR_FLAG(__FLAG__)
#define __HAL_RCC_LSECSS_EXTI_ENABLE_IT()
Enable the RCC LSE CSS Extended Interrupt Line.
#define __HAL_RCC_I2C1235_CONFIG(__I2C1235CLKSource__)
macro to configure the I2C1/2/3/5* clock (I2C123CLK).
#define __HAL_RCC_GET_SPI45_SOURCE()
Macro to get the SPI4/5 clock source.
#define RCC_FMCCLKSOURCE_HCLK
#define RCC_FMCCLKSOURCE_PLL
#define RCC_FMCCLKSOURCE_PLL2
#define RCC_FMCCLKSOURCE_CLKP
#define RCC_I2C4CLKSOURCE_PLL3
#define IS_RCC_CECCLKSOURCE(SOURCE)
#define IS_RCC_SCOPE_WWDG(WWDG)
#define IS_RCC_CRS_HSI48CALIBRATION(__VALUE__)
#define IS_RCC_CRS_SYNC_SOURCE(__SOURCE__)
#define IS_RCC_PLL3RGE_VALUE(VALUE)
#define IS_RCC_CLKPSOURCE(SOURCE)
#define IS_RCC_SDMMC(__SOURCE__)
#define IS_RCC_PLL3N_VALUE(VALUE)
#define IS_RCC_PLL3Q_VALUE(VALUE)
#define IS_RCC_I2C123CLKSOURCE(SOURCE)
#define IS_RCC_PLL2P_VALUE(VALUE)
#define IS_RCC_PLL2M_VALUE(VALUE)
#define IS_RCC_PLL2VCO_VALUE(VALUE)
#define IS_RCC_DFSDM1CLKSOURCE(SOURCE)
#define IS_RCC_PLL3R_VALUE(VALUE)
#define IS_RCC_SWPMI1CLKSOURCE(SOURCE)
#define IS_RCC_PLL3VCO_VALUE(VALUE)
#define IS_RCC_PLL3P_VALUE(VALUE)
#define IS_RCC_PLL2Q_VALUE(VALUE)
#define IS_RCC_PLL2N_VALUE(VALUE)
#define IS_RCC_CRS_SYNC_POLARITY(__POLARITY__)
#define IS_RCC_CRS_ERRORLIMIT(__VALUE__)
#define IS_RCC_PLL2RGE_VALUE(VALUE)
#define IS_RCC_CRS_RELOADVALUE(__VALUE__)
#define IS_RCC_I2C4CLKSOURCE(SOURCE)
#define IS_RCC_TIMPRES(VALUE)
#define IS_RCC_PLL3M_VALUE(VALUE)
#define IS_RCC_CRS_SYNC_DIV(__DIV__)
#define IS_RCC_PLL2R_VALUE(VALUE)
#define RCC_LPTIM1CLKSOURCE_CLKP
#define RCC_LPTIM1CLKSOURCE_PLL3
#define RCC_LPTIM1CLKSOURCE_PCLK1
#define RCC_LPTIM1CLKSOURCE_PLL2
#define RCC_LPTIM1CLKSOURCE_LSE
#define RCC_LPTIM1CLKSOURCE_LSI
#define RCC_LPTIM2CLKSOURCE_CLKP
#define RCC_LPTIM2CLKSOURCE_LSI
#define RCC_LPTIM2CLKSOURCE_LSE
#define RCC_LPTIM2CLKSOURCE_PLL3
#define RCC_LPTIM2CLKSOURCE_PCLK4
#define RCC_LPTIM2CLKSOURCE_PLL2
#define RCC_LPTIM345CLKSOURCE_PLL2
#define RCC_LPTIM345CLKSOURCE_CLKP
#define RCC_LPTIM345CLKSOURCE_PCLK4
#define RCC_LPTIM345CLKSOURCE_LSI
#define RCC_LPTIM345CLKSOURCE_PLL3
#define RCC_LPTIM345CLKSOURCE_LSE
#define RCC_LPUART1CLKSOURCE_PLL3
#define RCC_LPUART1CLKSOURCE_CSI
#define RCC_LPUART1CLKSOURCE_PLL2
#define RCC_LPUART1CLKSOURCE_PCLK4
#define RCC_LPUART1CLKSOURCE_HSI
#define RCC_LPUART1CLKSOURCE_LSE
#define RCC_PERIPHCLK_RNG
#define RCC_PERIPHCLK_LPTIM345
#define RCC_PERIPHCLK_LPUART1
#define RCC_PERIPHCLK_I2C123
#define RCC_PERIPHCLK_PLL3_DIVP
#define RCC_PERIPHCLK_I2C4
#define RCC_PERIPHCLK_CKPER
#define RCC_PERIPHCLK_USART16
#define RCC_PERIPHCLK_LPTIM2
#define RCC_PERIPHCLK_LPTIM1
#define RCC_PERIPHCLK_PLL3_DIVR
#define RCC_PERIPHCLK_USART234578
#define RCC_PERIPHCLK_PLL2_DIVQ
#define RCC_PERIPHCLK_TIM
#define RCC_PERIPHCLK_PLL2_DIVR
#define RCC_PERIPHCLK_SWPMI1
#define RCC_PERIPHCLK_SPI45
#define RCC_PERIPHCLK_PLL3_DIVQ
#define RCC_PERIPHCLK_SAI1
#define RCC_PERIPHCLK_ADC
#define RCC_PERIPHCLK_SPI6
#define RCC_PERIPHCLK_FMC
#define RCC_PERIPHCLK_PLL2_DIVP
#define RCC_PERIPHCLK_USB
#define RCC_PERIPHCLK_SPDIFRX
#define RCC_PERIPHCLK_DFSDM1
#define RCC_PERIPHCLK_CEC
#define RCC_PERIPHCLK_RTC
#define RCC_PERIPHCLK_DSI
#define RCC_PERIPHCLK_SDMMC
#define RCC_PERIPHCLK_FDCAN
#define RCC_PERIPHCLK_SPI123
#define RCC_RNGCLKSOURCE_HSI48
#define RCC_RNGCLKSOURCE_LSI
#define RCC_RNGCLKSOURCE_PLL
#define RCC_RNGCLKSOURCE_LSE
#define RCC_SAI1CLKSOURCE_CLKP
#define RCC_SAI1CLKSOURCE_PLL2
#define RCC_SAI1CLKSOURCE_PIN
#define RCC_SAI1CLKSOURCE_PLL3
#define RCC_SAI1CLKSOURCE_PLL
#define RCC_SDMMCCLKSOURCE_PLL
#define RCC_SDMMCCLKSOURCE_PLL2
#define RCC_SPDIFRXCLKSOURCE_PLL
#define RCC_SPDIFRXCLKSOURCE_HSI
#define RCC_SPDIFRXCLKSOURCE_PLL2
#define RCC_SPDIFRXCLKSOURCE_PLL3
#define RCC_SPI123CLKSOURCE_PIN
#define RCC_SPI123CLKSOURCE_CLKP
#define RCC_SPI123CLKSOURCE_PLL3
#define RCC_SPI123CLKSOURCE_PLL
#define RCC_SPI123CLKSOURCE_PLL2
#define RCC_SPI45CLKSOURCE_PCLK2
#define RCC_SPI45CLKSOURCE_PLL2
#define RCC_SPI45CLKSOURCE_HSE
#define RCC_SPI45CLKSOURCE_PLL3
#define RCC_SPI45CLKSOURCE_HSI
#define RCC_SPI45CLKSOURCE_CSI
#define RCC_SPI6CLKSOURCE_PIN
#define RCC_SPI6CLKSOURCE_PLL3
#define RCC_SPI6CLKSOURCE_HSE
#define RCC_SPI6CLKSOURCE_CSI
#define RCC_SPI6CLKSOURCE_PLL2
#define RCC_SPI6CLKSOURCE_PCLK4
#define RCC_SPI6CLKSOURCE_HSI
#define RCC_SPI6CLKSOURCE_D3PCLK1
#define RCC_TIMPRES_DESACTIVATED
#define RCC_TIMPRES_ACTIVATED
#define RCC_USART16CLKSOURCE_CSI
#define RCC_USART16CLKSOURCE_LSE
#define RCC_USART16CLKSOURCE_PLL3
#define RCC_USART16CLKSOURCE_PLL2
#define RCC_USART16CLKSOURCE_HSI
#define RCC_USART16CLKSOURCE_PCLK2
#define RCC_USART234578CLKSOURCE_PCLK1
#define RCC_USART234578CLKSOURCE_PLL3
#define RCC_USART234578CLKSOURCE_CSI
#define RCC_USART234578CLKSOURCE_HSI
#define RCC_USART234578CLKSOURCE_LSE
#define RCC_USART234578CLKSOURCE_PLL2
#define RCC_USBCLKSOURCE_PLL3
#define RCC_USBCLKSOURCE_PLL
#define RCC_USBCLKSOURCE_HSI48
uint32_t HAL_RCC_GetHCLKFreq(void)
uint32_t HAL_RCC_GetSysClockFreq(void)
uint32_t HAL_RCC_GetPCLK1Freq(void)
#define __HAL_RCC_CRS_FORCE_RESET()
#define __HAL_RCC_BACKUPRESET_RELEASE()
#define __HAL_RCC_CRS_RELEASE_RESET()
#define __HAL_RCC_RTC_CONFIG(__RTCCLKSource__)
#define __HAL_RCC_PLLCLKOUT_ENABLE(__RCC_PLL1ClockOut__)
Enables or disables each clock output (PLL_P_CLK, PLL_Q_CLK, PLL_R_CLK).
#define __HAL_RCC_BACKUPRESET_FORCE()
Macros to force or release the Backup domain reset.
#define __HAL_RCC_GET_PLL_OSCSOURCE()
Macro to get the oscillator used as PLL clock source.
#define __HAL_RCC_GET_HSI_DIVIDER()
Macro to get the HSI divider.
#define __HAL_RCC_GET_RTC_SOURCE()
#define __HAL_RCC_WAKEUPSTOP_CLK_CONFIG(__RCC_STOPWUCLK__)
Macro to configure the wake up from stop clock.
#define __HAL_RCC_KERWAKEUPSTOP_CLK_CONFIG(__RCC_STOPKERWUCLK__)
Macro to configure the Kernel wake up from stop clock.
#define __HAL_RCC_GET_IT(__INTERRUPT__)
Check the RCC's interrupt has occurred or not.
#define __HAL_RCC_ENABLE_IT(__INTERRUPT__)
Enable RCC interrupt.
#define __HAL_RCC_CLEAR_IT(__INTERRUPT__)
Clear the RCC's interrupt pending bits.
#define __HAL_RCC_GET_FLAG(__FLAG__)
#define __HAL_RCC_DISABLE_IT(__INTERRUPT__)
Disable RCC interrupt.
#define IS_RCC_PLLFRACN_VALUE(VALUE)
#define IS_RCC_STOP_WAKEUPCLOCK(SOURCE)
#define IS_RCC_STOP_KERWAKEUPCLOCK(SOURCE)
#define IS_RCC_RTCCLKSOURCE(SOURCE)
#define RCC_PLLSOURCE_HSI
#define RCC_PLLSOURCE_HSE
#define RCC_PLLSOURCE_NONE
#define RCC_PLLSOURCE_CSI
#define RCC_DBP_TIMEOUT_VALUE
#define RCC_LSE_TIMEOUT_VALUE
#define RCC_RTCCLKSOURCE_LSE
#define REV_ID_Y
STM32H7 rev.Y.
uint32_t SystemD2Clock
System Domain2 Clock Frequency.
uint32_t SystemCoreClock
System Domain1 Clock Frequency.
const uint8_t D1CorePrescTable[16]
D1CorePrescTable prescalers table values.
This file contains all the functions prototypes for the HAL module driver.
#define CSI_VALUE
Internal oscillator (CSI) default value.
#define assert_param(expr)
Uncomment the line below to expanse the "assert_param" macro in the HAL drivers code.
#define EXTERNAL_CLOCK_VALUE
< Value of the Internal Low Speed oscillator in Hz The real value may vary depending on the variation...
#define HSI_VALUE
Internal High Speed oscillator (HSI) value.
#define HSE_VALUE
Adjust the value of External High Speed oscillator (HSE) used in your application.
#define HAL_IS_BIT_SET(REG, BIT)
HAL_StatusTypeDef
HAL Status structures definition.
RCC PLL1 Clocks structure definition.
uint32_t PLL1_R_Frequency
uint32_t PLL1_Q_Frequency
uint32_t PLL1_P_Frequency
RCC PLL2 Clocks structure definition.
uint32_t PLL2_Q_Frequency
uint32_t PLL2_P_Frequency
uint32_t PLL2_R_Frequency
RCC PLL3 Clocks structure definition.
uint32_t PLL3_P_Frequency
uint32_t PLL3_R_Frequency
uint32_t PLL3_Q_Frequency
RCC_CRS Init structure definition.
uint32_t Polarity
Specifies the input polarity for the SYNC signal source.
uint32_t HSI48CalibrationValue
Specifies a user-programmable trimming value to the HSI48 oscillator.
uint32_t Prescaler
Specifies the division factor of the SYNC signal.
uint32_t ReloadValue
Specifies the value to be loaded in the frequency error counter with each SYNC event.
uint32_t Source
Specifies the SYNC signal source.
uint32_t ErrorLimitValue
Specifies the value to be used to evaluate the captured frequency error value.
PLL2 Clock structure definition.
uint32_t PLL2R
PLL2R: Division factor for peripheral clocks.
uint32_t PLL2M
PLL2M: Division factor for PLL2 VCO input clock.
uint32_t PLL2RGE
PLL2RGE: PLL2 clock Input range This parameter must be a value of RCC PLL2 VCI Range.
uint32_t PLL2N
PLL2N: Multiplication factor for PLL2 VCO output clock.
uint32_t PLL2FRACN
PLL2FRACN: Specifies Fractional Part Of The Multiplication Factor for PLL2 VCO It should be a value b...
uint32_t PLL2VCOSEL
PLL2VCOSEL: PLL2 clock Output range This parameter must be a value of RCC PLL2 VCO Range.
uint32_t PLL2P
PLL2P: Division factor for system clock.
uint32_t PLL2Q
PLL2Q: Division factor for peripheral clocks.
PLL3 Clock structure definition.
uint32_t PLL3Q
PLL3Q: Division factor for peripheral clocks.
uint32_t PLL3FRACN
PLL3FRACN: Specifies Fractional Part Of The Multiplication Factor for PLL3 VCO It should be a value b...
uint32_t PLL3N
PLL3N: Multiplication factor for PLL3 VCO output clock.
uint32_t PLL3VCOSEL
PLL3VCOSEL: PLL3 clock Output range This parameter must be a value of RCC PLL3 VCO Range.
uint32_t PLL3P
PLL3P: Division factor for system clock.
uint32_t PLL3R
PLL3R: Division factor for peripheral clocks.
uint32_t PLL3RGE
PLL3RGE: PLL3 clock Input range This parameter must be a value of RCC PLL3 VCI Range.
uint32_t PLL3M
PLL3M: Division factor for PLL3 VCO input clock.
RCC extended clocks structure definition.
uint32_t Spi123ClockSelection
Specifies SPI1/2/3 clock source This parameter can be a value of SPI1/2/3 Clock Source.
uint32_t Spi6ClockSelection
Specifies SPI6 clock source This parameter can be a value of SPI6 Clock Source.
uint32_t I2c123ClockSelection
Specifies I2C1/2/3 clock source This parameter can be a value of RCCEx I2C1/2/3/5 Clock Source.
uint32_t Usart16ClockSelection
Specifies USART1/6 clock source This parameter can be a value of RCCEx USART1/6 Clock Source.
uint32_t TIMPresSelection
Specifies TIM Clock Prescalers Selection.
uint32_t Lptim1ClockSelection
Specifies LPTIM1 clock source This parameter can be a value of RCCEx LPTIM1 Clock Source.
uint32_t CkperClockSelection
Specifies CKPER clock source This parameter can be a value of RCCEx CLKP Clock Source.
uint32_t CecClockSelection
Specifies CEC clock source This parameter can be a value of RCCEx CEC Clock Source.
uint32_t Swpmi1ClockSelection
Specifies SWPMI1 Clock clock source This parameter can be a value of RCCEx SWPMI1 Clock Source.
uint64_t PeriphClockSelection
The Extended Clock to be configured.
uint32_t I2c4ClockSelection
Specifies I2C4 clock source This parameter can be a value of RCCEx I2C4 Clock Source.
uint32_t Lptim2ClockSelection
Specifies LPTIM2 clock source This parameter can be a value of RCCEx LPTIM2 Clock Source.
uint32_t SpdifrxClockSelection
Specifies SPDIFRX Clock clock source This parameter can be a value of RCCEx SPDIFRX Clock Source.
uint32_t SdmmcClockSelection
Specifies SDMMC clock source This parameter can be a value of RCCEx SDMMC Clock Source.
RCC_PLL2InitTypeDef PLL2
PLL2structure parameters.
uint32_t Dfsdm1ClockSelection
Specifies DFSDM1 Clock clock source This parameter can be a value of RCCEx DFSDM1 Clock Source.
RCC_PLL3InitTypeDef PLL3
PLL3 structure parameters.
uint32_t Lptim345ClockSelection
Specifies LPTIM3/4/5 clock source This parameter can be a value of RCCEx LPTIM3/4/5 Clock Source.
uint32_t AdcClockSelection
Specifies ADC interface clock source This parameter can be a value of RCCEx ADC Clock Source.
uint32_t Usart234578ClockSelection
Specifies USART2/3/4/5/7/8 clock source This parameter can be a value of RCCEx USART2/3/4/5/7/8 Clock...
uint32_t FmcClockSelection
Specifies FMC clock source This parameter can be a value of RCCEx FMC Clock Source.
uint32_t RTCClockSelection
Specifies RTC Clock clock source This parameter can be a value of RCC RTC Clock Source.
uint32_t Sai1ClockSelection
Specifies SAI1 clock source This parameter can be a value of SAI1 Clock Source.
uint32_t UsbClockSelection
Specifies USB clock source This parameter can be a value of RCCEx USB Clock Source.
uint32_t Lpuart1ClockSelection
Specifies LPUART1 clock source This parameter can be a value of RCCEx LPUART1 Clock Source.
uint32_t Spi45ClockSelection
Specifies SPI4/5 clock source This parameter can be a value of SPI4/5 Clock Source.
uint32_t RngClockSelection
Specifies RNG clock source This parameter can be a value of RCCEx RNG Clock Source.