В файле https://gitflic.ru/project/niiet/niiet_ ... nch=master есть следующая настройка для HSE 24 МГц и PLLOUT 50/30 МГц:
Код: Выделить всё
#elif (HSECLK_VAL == 24000000)
// Fout0 = 50 000 000 Hz
// Fout1 = 30 000 000 Hz
RCU->PLLSYSCFG0 =( 7 << RCU_PLLSYSCFG0_PD1B_Pos) | //PD1B
( 4 << RCU_PLLSYSCFG0_PD1A_Pos) | //PD1A
( 2 << RCU_PLLSYSCFG0_PD0B_Pos) | //PD0B
( 3 << RCU_PLLSYSCFG0_PD0A_Pos) | //PD0A
( 2 << RCU_PLLSYSCFG0_REFDIV_Pos) | //refdiv
( 0 << RCU_PLLSYSCFG0_FOUTEN_Pos) | //fouten
( 0 << RCU_PLLSYSCFG0_DSMEN_Pos) | //dsmen
( 0 << RCU_PLLSYSCFG0_DACEN_Pos) | //dacen
( 3 << RCU_PLLSYSCFG0_BYP_Pos) | //bypass
( 1 << RCU_PLLSYSCFG0_PLLEN_Pos); //en
RCU->PLLSYSCFG1 = 0; //FRAC = 0
RCU->PLLSYSCFG2 = 65; //FBDIV
fVCO = 24000000 * 65 / 2 = 780000000
fOUT0 = 780000000 / ((3 + 1) * (4 + 1)) = 39000000
fOUT1 = 780000000 / ((2 + 1) * (7 + 1)) = 32500000
В моём калькуляторе получается REFDIV = 1, FBDIV = 25, FRAC = 0, A0 = 0, B0 = 11, A1 = 0, B = 19
Или я что-то, как обычно, упускаю
