DIY Logging Volt/Ampmeter
|
Go to the documentation of this file.
74 #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
106 static void RCC_Delay(uint32_t mdelay);
284 #if defined(RCC_PLL2_SUPPORT)
294 if ((
HAL_GetTick() - tickstart) > PLL2_TIMEOUT_VALUE)
301 #if defined(RCC_PLLI2S_SUPPORT)
311 if ((
HAL_GetTick() - tickstart) > PLLI2S_TIMEOUT_VALUE)
318 #if defined(RCC_CFGR2_PREDIV1)
353 if (RCC_OscInitStruct ==
NULL)
589 if (pwrclkchanged ==
SET)
595 #if defined(RCC_CR_PLL2ON)
598 assert_param(IS_RCC_PLL2(RCC_OscInitStruct->PLL2.PLL2State));
599 if ((RCC_OscInitStruct->PLL2.PLL2State) != RCC_PLL2_NONE)
605 ((
READ_BIT(
RCC->CFGR2, RCC_CFGR2_PREDIV1SRC)) == RCC_CFGR2_PREDIV1SRC_PLL2))
611 if ((RCC_OscInitStruct->PLL2.PLL2State) == RCC_PLL2_ON)
614 assert_param(IS_RCC_PLL2_MUL(RCC_OscInitStruct->PLL2.PLL2MUL));
615 assert_param(IS_RCC_HSE_PREDIV2(RCC_OscInitStruct->PLL2.HSEPrediv2Value));
620 (__HAL_RCC_HSE_GET_PREDIV2() != RCC_OscInitStruct->PLL2.HSEPrediv2Value))
626 __HAL_RCC_PLL2_DISABLE();
634 if ((
HAL_GetTick() - tickstart) > PLL2_TIMEOUT_VALUE)
641 __HAL_RCC_HSE_PREDIV2_CONFIG(RCC_OscInitStruct->PLL2.HSEPrediv2Value);
644 __HAL_RCC_PLL2_CONFIG(RCC_OscInitStruct->PLL2.PLL2MUL);
647 __HAL_RCC_PLL2_ENABLE();
655 if ((
HAL_GetTick() - tickstart) > PLL2_TIMEOUT_VALUE)
667 __HAL_RCC_PLL2_DISABLE();
675 if ((
HAL_GetTick() - tickstart) > PLL2_TIMEOUT_VALUE)
720 #if defined(RCC_CFGR2_PREDIV1SRC)
721 assert_param(IS_RCC_PREDIV1_SOURCE(RCC_OscInitStruct->Prediv1Source));
724 SET_BIT(
RCC->CFGR2, RCC_OscInitStruct->Prediv1Source);
777 pll_config =
RCC->CFGR;
818 if (RCC_ClkInitStruct ==
NULL)
831 #if defined(FLASH_ACR_LATENCY)
833 if (FLatency > __HAL_FLASH_GET_LATENCY())
836 __HAL_FLASH_SET_LATENCY(FLatency);
840 if (__HAL_FLASH_GET_LATENCY() != FLatency)
913 #if defined(FLASH_ACR_LATENCY)
915 if (FLatency < __HAL_FLASH_GET_LATENCY())
918 __HAL_FLASH_SET_LATENCY(FLatency);
922 if (__HAL_FLASH_GET_LATENCY() != FLatency)
1002 void HAL_RCC_MCOConfig(uint32_t RCC_MCOx, uint32_t RCC_MCOSource, uint32_t RCC_MCODiv)
1019 gpio.
Pin = MCO1_PIN;
1084 #if defined(RCC_CFGR2_PREDIV1SRC)
1085 const uint8_t aPLLMULFactorTable[14] = {0, 0, 4, 5, 6, 7, 8, 9, 0, 0, 0, 0, 0, 13};
1086 const uint8_t aPredivFactorTable[16] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
1088 const uint8_t aPLLMULFactorTable[16] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 16};
1089 #if defined(RCC_CFGR2_PREDIV1)
1090 const uint8_t aPredivFactorTable[16] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
1092 const uint8_t aPredivFactorTable[2] = {1, 2};
1096 uint32_t tmpreg = 0U, prediv = 0U, pllclk = 0U, pllmul = 0U;
1097 uint32_t sysclockfreq = 0U;
1098 #if defined(RCC_CFGR2_PREDIV1SRC)
1099 uint32_t prediv2 = 0U, pll2mul = 0U;
1117 #if defined(RCC_CFGR2_PREDIV1)
1118 prediv = aPredivFactorTable[(uint32_t)(
RCC->CFGR2 & RCC_CFGR2_PREDIV1) >> RCC_CFGR2_PREDIV1_Pos];
1122 #if defined(RCC_CFGR2_PREDIV1SRC)
1128 prediv2 = ((
RCC->CFGR2 & RCC_CFGR2_PREDIV2) >> RCC_CFGR2_PREDIV2_Pos) + 1;
1129 pll2mul = ((
RCC->CFGR2 & RCC_CFGR2_PLL2MUL) >> RCC_CFGR2_PLL2MUL_Pos) + 2;
1130 pllclk = (uint32_t)(((uint64_t)
HSE_VALUE * (uint64_t)pll2mul * (uint64_t)pllmul) / ((uint64_t)prediv2 * (uint64_t)prediv));
1135 pllclk = (uint32_t)((
HSE_VALUE * pllmul) / prediv);
1142 pllclk = pllclk / 2;
1146 pllclk = (uint32_t)((
HSE_VALUE * pllmul) / prediv);
1152 pllclk = (uint32_t)((
HSI_VALUE >> 1) * pllmul);
1154 sysclockfreq = pllclk;
1164 return sysclockfreq;
1221 #if defined(RCC_CFGR2_PREDIV1SRC)
1223 RCC_OscInitStruct->Prediv1Source =
READ_BIT(
RCC->CFGR2, RCC_CFGR2_PREDIV1SRC);
1289 #if defined(RCC_CR_PLL2ON)
1291 if ((
RCC->CR & RCC_CR_PLL2ON) == RCC_CR_PLL2ON)
1293 RCC_OscInitStruct->PLL2.PLL2State = RCC_PLL2_ON;
1297 RCC_OscInitStruct->PLL2.PLL2State = RCC_PLL2_OFF;
1299 RCC_OscInitStruct->PLL2.HSEPrediv2Value = __HAL_RCC_HSE_GET_PREDIV2();
1300 RCC_OscInitStruct->PLL2.PLL2MUL = (uint32_t)(
RCC->CFGR2 & RCC_CFGR2_PLL2MUL);
1333 #if defined(FLASH_ACR_LATENCY)
1365 static void RCC_Delay(uint32_t mdelay)
#define IS_RCC_CLOCKTYPE(CLK)
#define IS_RCC_PLLSOURCE(__SOURCE__)
#define HSE_TIMEOUT_VALUE
#define IS_RCC_SYSCLKSOURCE(__SOURCE__)
#define RCC_SYSCLKSOURCE_STATUS_PLLCLK
#define IS_RCC_HSE_PREDIV(__DIV__)
#define __HAL_RCC_HSE_CONFIG(__STATE__)
Macro to configure the External High Speed oscillator (HSE).
#define HAL_IS_BIT_CLR(REG, BIT)
#define RCC_CFGR_PPRE1_Pos
#define __HAL_RCC_GET_PLL_OSCSOURCE()
Get oscillator clock selected as PLL input clock.
HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority)
#define __HAL_RCC_HSE_PREDIV_CONFIG(__HSE_PREDIV_VALUE__)
Macro to configure the External High Speed oscillator (HSE) Predivision factor for PLL.
void HAL_RCC_GetOscConfig(RCC_OscInitTypeDef *RCC_OscInitStruct)
#define GPIO_SPEED_FREQ_HIGH
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 RCC_PLLSOURCE_HSI_DIV2
This file contains all the functions prototypes for the HAL module driver.
#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 RCC_DBP_TIMEOUT_VALUE
#define RCC_SYSCLKSOURCE_STATUS_HSI
#define __HAL_RCC_HSI_DISABLE()
#define IS_RCC_HSI(__HSI__)
uint32_t HSICalibrationValue
#define IS_RCC_PLL(__PLL__)
uint32_t HAL_RCC_GetPCLK2Freq(void)
const uint8_t AHBPrescTable[16U]
void HAL_RCC_GetClockConfig(RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t *pFLatency)
#define RCC_SYSCLKSOURCE_STATUS_HSE
#define READ_BIT(REG, BIT)
#define __NOP
No Operation.
#define __HAL_RCC_PLL_CONFIG(__RCC_PLLSOURCE__, __PLLMUL__)
Macro to configure the main PLL clock source and multiplication factors.
void HAL_RCC_NMI_IRQHandler(void)
#define IS_RCC_HSE(__HSE__)
#define __HAL_RCC_PLL_DISABLE()
Macro to disable the main PLL.
#define RCC_SYSCLKSOURCE_PLLCLK
#define IS_RCC_CALIBRATION_VALUE(__VALUE__)
HAL_StatusTypeDef HAL_RCC_DeInit(void)
#define RCC_CFGR_PLLXTPRE
void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init)
#define __HAL_RCC_MCO1_CONFIG(__MCOCLKSOURCE__, __MCODIV__)
Macro to configure the MCO clock.
#define RCC_CLOCKTYPE_PCLK1
#define assert_param(expr)
#define __HAL_RCC_GET_IT(__INTERRUPT__)
Check the RCC's interrupt has occurred or not.
#define FLASH_ACR_LATENCY
#define IS_RCC_MCO1SOURCE(__SOURCE__)
#define IS_RCC_LSI(__LSI__)
#define HAL_IS_BIT_SET(REG, BIT)
#define IS_RCC_PLL_MUL(__MUL__)
HAL_StatusTypeDef HAL_RCC_ClockConfig(RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t FLatency)
#define __HAL_RCC_CLEAR_IT(__INTERRUPT__)
Clear the RCC's interrupt pending bits.
#define RCC_OSCILLATORTYPE_HSI
HAL_StatusTypeDef HAL_RCC_OscConfig(RCC_OscInitTypeDef *RCC_OscInitStruct)
#define RCC_CFGR_HPRE_Pos
#define MODIFY_REG(REG, CLEARMASK, SETMASK)
#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_HCLK(__HCLK__)
#define PLL_TIMEOUT_VALUE
#define RCC_PLLSOURCE_HSE
#define RCC_CLOCKTYPE_SYSCLK
#define IS_RCC_LSE(__LSE__)
void HAL_RCC_MCOConfig(uint32_t RCC_MCOx, uint32_t RCC_MCOSource, uint32_t RCC_MCODiv)
const uint8_t APBPrescTable[8U]
#define __HAL_RCC_HSI_CALIBRATIONVALUE_ADJUST(_HSICALIBRATIONVALUE_)
Macro to adjust the Internal High Speed oscillator (HSI) calibration value.
#define __HAL_RCC_HSE_GET_PREDIV()
Macro to get prediv1 factor for PLL.
uint32_t HAL_RCC_GetHCLKFreq(void)
#define __HAL_RCC_PWR_CLK_ENABLE()
#define RCC_CLOCKTYPE_HCLK
#define __HAL_RCC_PLL_ENABLE()
Macro to enable the main PLL.
#define CLOCKSWITCH_TIMEOUT_VALUE
#define HSE_VALUE
Adjust the value of External High Speed oscillator (HSE) used in your application....
#define __HAL_RCC_LSI_ENABLE()
Macro to enable the Internal Low Speed oscillator (LSI).
#define IS_RCC_OSCILLATORTYPE(__OSCILLATOR__)
#define LSI_TIMEOUT_VALUE
#define IS_RCC_MCODIV(__DIV__)
uint32_t HAL_RCC_GetPCLK1Freq(void)
#define RCC_CFGR_PLLXTPRE_Pos
#define RCC_LSE_TIMEOUT_VALUE
#define __HAL_RCC_GET_FLAG(__FLAG__)
Check RCC flag is set or not.
#define HSI_VALUE
Internal High Speed oscillator (HSI) value. This value is used by the RCC HAL module to compute the s...
HAL_StatusTypeDef
HAL Status structures definition.
uint32_t HAL_RCC_GetSysClockFreq(void)
#define __HAL_RCC_LSI_DISABLE()
Macro to disable the Internal Low Speed oscillator (LSI).
#define RCC_SYSCLKSOURCE_HSE
#define IS_RCC_PCLK(__PCLK__)
#define __HAL_RCC_GET_SYSCLK_SOURCE()
Macro to get the clock source used as system clock.
#define IS_RCC_MCO(__MCO__)
#define HSI_TIMEOUT_VALUE
#define RCC_OSCILLATORTYPE_HSE
uint32_t HAL_GetTick(void)
#define IS_FLASH_LATENCY(__LATENCY__)
#define SET_BIT(REG, BIT)
#define CLEAR_BIT(REG, BIT)
#define __HAL_RCC_SYSCLK_CONFIG(__SYSCLKSOURCE__)
Macro to configure the system clock source.
#define RCC_OSCILLATORTYPE_LSI
void HAL_RCC_EnableCSS(void)
#define RCC_CFGR_PLLMULL_Pos
#define RCC_CR_HSITRIM_Pos
#define __HAL_RCC_PWR_IS_CLK_DISABLED()