MCPcopy Create free account
hub / github.com/DISTORTEC/distortos / configurePrediv

Function configurePrediv

source/chip/STM32/STM32F1/STM32F1-RCC.cpp:44–60  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

42 */
43
44int configurePrediv(const bool prediv2, const uint8_t prediv)
45{
46 if (prediv < minPrediv || prediv > maxPrediv)
47 return EINVAL;
48
49#if defined(DISTORTOS_CHIP_STM32F100)
50 static_cast<void>(prediv2); // suppress warning
51 RCC->CFGR2 = (RCC->CFGR2 & ~RCC_CFGR2_PREDIV1) | (prediv - 1) << RCC_CFGR2_PREDIV1_Pos;
52#elif defined(DISTORTOS_CHIP_STM32F105) || defined(DISTORTOS_CHIP_STM32F107)
53 RCC->CFGR2 = (RCC->CFGR2 & ~(prediv2 == true ? RCC_CFGR2_PREDIV2 : RCC_CFGR2_PREDIV1)) |
54 (prediv - 1) << (prediv2 == true ? RCC_CFGR2_PREDIV2_Pos : RCC_CFGR2_PREDIV1_Pos);
55#else // !defined(DISTORTOS_CHIP_STM32F100) && !defined(DISTORTOS_CHIP_STM32F105) && !defined(DISTORTOS_CHIP_STM32F107)
56 static_cast<void>(prediv2); // suppress warning
57 STM32_BITBAND(RCC, CFGR, PLLXTPRE) = prediv == 2;
58#endif // !defined(DISTORTOS_CHIP_STM32F100) && !defined(DISTORTOS_CHIP_STM32F105) && !defined(DISTORTOS_CHIP_STM32F107)
59 return 0;
60}
61
62#if defined(DISTORTOS_CHIP_STM32F105) || defined(DISTORTOS_CHIP_STM32F107)
63

Callers 2

configurePrediv1Function · 0.70
configurePrediv2Function · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected