Configure the RCC_OscInitStruct according to the internal RCC configuration registers.
1476 #if defined(RCC_HSI48_SUPPORT) 1477 RCC_OscInitStruct->
OscillatorType = RCC_OSCILLATORTYPE_HSE | RCC_OSCILLATORTYPE_HSI | RCC_OSCILLATORTYPE_MSI | \
1478 RCC_OSCILLATORTYPE_LSE | RCC_OSCILLATORTYPE_LSI | RCC_OSCILLATORTYPE_HSI48;
1480 RCC_OscInitStruct->
OscillatorType = RCC_OSCILLATORTYPE_HSE | RCC_OSCILLATORTYPE_HSI | RCC_OSCILLATORTYPE_MSI | \
1481 RCC_OSCILLATORTYPE_LSE | RCC_OSCILLATORTYPE_LSI;
1485 if(READ_BIT(RCC->CR, RCC_CR_HSEBYP) == RCC_CR_HSEBYP)
1487 RCC_OscInitStruct->
HSEState = RCC_HSE_BYPASS;
1489 else if(READ_BIT(RCC->CR, RCC_CR_HSEON) == RCC_CR_HSEON)
1491 RCC_OscInitStruct->
HSEState = RCC_HSE_ON;
1495 RCC_OscInitStruct->
HSEState = RCC_HSE_OFF;
1499 if(READ_BIT(RCC->CR, RCC_CR_MSION) == RCC_CR_MSION)
1501 RCC_OscInitStruct->
MSIState = RCC_MSI_ON;
1505 RCC_OscInitStruct->
MSIState = RCC_MSI_OFF;
1508 RCC_OscInitStruct->
MSICalibrationValue = READ_BIT(RCC->ICSCR, RCC_ICSCR_MSITRIM) >> RCC_ICSCR_MSITRIM_Pos;
1509 RCC_OscInitStruct->
MSIClockRange = READ_BIT(RCC->CR, RCC_CR_MSIRANGE);
1512 if(READ_BIT(RCC->CR, RCC_CR_HSION) == RCC_CR_HSION)
1514 RCC_OscInitStruct->
HSIState = RCC_HSI_ON;
1518 RCC_OscInitStruct->
HSIState = RCC_HSI_OFF;
1521 RCC_OscInitStruct->
HSICalibrationValue = READ_BIT(RCC->ICSCR, RCC_ICSCR_HSITRIM) >> RCC_ICSCR_HSITRIM_Pos;
1524 if(READ_BIT(RCC->BDCR, RCC_BDCR_LSEBYP) == RCC_BDCR_LSEBYP)
1526 #if defined(RCC_BDCR_LSESYSDIS) 1527 if((RCC->BDCR & RCC_BDCR_LSESYSDIS) == RCC_BDCR_LSESYSDIS)
1529 RCC_OscInitStruct->
LSEState = RCC_LSE_BYPASS_RTC_ONLY;
1534 RCC_OscInitStruct->
LSEState = RCC_LSE_BYPASS;
1537 else if(READ_BIT(RCC->BDCR, RCC_BDCR_LSEON) == RCC_BDCR_LSEON)
1539 #if defined(RCC_BDCR_LSESYSDIS) 1540 if((RCC->BDCR & RCC_BDCR_LSESYSDIS) == RCC_BDCR_LSESYSDIS)
1542 RCC_OscInitStruct->
LSEState = RCC_LSE_ON_RTC_ONLY;
1547 RCC_OscInitStruct->
LSEState = RCC_LSE_ON;
1552 RCC_OscInitStruct->
LSEState = RCC_LSE_OFF;
1556 if(READ_BIT(RCC->CSR, RCC_CSR_LSION) == RCC_CSR_LSION)
1558 RCC_OscInitStruct->
LSIState = RCC_LSI_ON;
1562 RCC_OscInitStruct->
LSIState = RCC_LSI_OFF;
1564 #if defined(RCC_CSR_LSIPREDIV) 1567 if((RCC->CSR & RCC_CSR_LSIPREDIV) == RCC_CSR_LSIPREDIV)
1569 RCC_OscInitStruct->
LSIDiv = RCC_LSI_DIV128;
1573 RCC_OscInitStruct->
LSIDiv = RCC_LSI_DIV1;
1577 #if defined(RCC_HSI48_SUPPORT) 1579 if(READ_BIT(RCC->CRRCR, RCC_CRRCR_HSI48ON) == RCC_CRRCR_HSI48ON)
1581 RCC_OscInitStruct->
HSI48State = RCC_HSI48_ON;
1585 RCC_OscInitStruct->
HSI48State = RCC_HSI48_OFF;
1588 RCC_OscInitStruct->
HSI48State = RCC_HSI48_OFF;
1592 if(READ_BIT(RCC->CR, RCC_CR_PLLON) == RCC_CR_PLLON)
1594 RCC_OscInitStruct->
PLL.PLLState = RCC_PLL_ON;
1598 RCC_OscInitStruct->
PLL.PLLState = RCC_PLL_OFF;
1600 RCC_OscInitStruct->
PLL.PLLSource = READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLSRC);
1601 RCC_OscInitStruct->
PLL.PLLM = (READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLM) >> RCC_PLLCFGR_PLLM_Pos) + 1U;
1602 RCC_OscInitStruct->
PLL.PLLN = READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLN) >> RCC_PLLCFGR_PLLN_Pos;
1603 RCC_OscInitStruct->
PLL.PLLQ = (((READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLQ) >> RCC_PLLCFGR_PLLQ_Pos) + 1U) << 1U);
1604 RCC_OscInitStruct->
PLL.PLLR = (((READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLR) >> RCC_PLLCFGR_PLLR_Pos) + 1U) << 1U);
1605 #if defined(RCC_PLLP_SUPPORT) 1606 #if defined(RCC_PLLP_DIV_2_31_SUPPORT) 1607 RCC_OscInitStruct->
PLL.PLLP = READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLPDIV) >> RCC_PLLCFGR_PLLPDIV_Pos;
1609 if(READ_BIT(RCC->PLLCFGR, RCC_PLLCFGR_PLLP) != 0U)
1611 RCC_OscInitStruct->
PLL.PLLP = RCC_PLLP_DIV17;
1615 RCC_OscInitStruct->
PLL.PLLP = RCC_PLLP_DIV7;
uint32_t MSICalibrationValue
uint32_t HSICalibrationValue
assert_param(IS_RTC_WAKEUP_CLOCK(WakeUpClock))