Никак не пойму, что я делаю не так: при записи 199 (и при записи 1 тоже) в CCLKCFG все ломается. Кварц у меня 3.686МГц.
На МК написано следующее:
Код
LPC2366FBD100
SH3959.1 01
ZSD0743BY
Код
void init_system_controls_and_status_register(void)
{
PCONP = 0;
// 6.14 PLL setup sequence
PLLCON_bit.PLLC = 0;
PLLFEED = hw::PLLFEED_DATA1;
PLLFEED = hw::PLLFEED_DATA2;
PLLCON_bit.PLLE = 0;
PLLFEED = hw::PLLFEED_DATA1;
PLLFEED = hw::PLLFEED_DATA2;
SCS = BIT_(hw::SCS_GPIOM) | BIT_(hw::SCS_OSCEN);
while (!SCS_bit.OSCSTAT) {}
CLKSRCSEL = hw::CS_MAIN_OSCILLATOR;
PLLCFG_bit.MSEL = PLL_REGISTER_M - 1;
PLLCFG_bit.NSEL = PLL_REGISTER_N - 1;
PLLCON_bit.PLLE = 1;
PLLFEED = hw::PLLFEED_DATA1;
PLLFEED = hw::PLLFEED_DATA2;
while (!PLLSTAT_bit.PLOCK) {}
CCLKCFG = 0;
CCLKCFG = 199; // до этой строчки стабильно доходит, а через нее - нет
PLLCON_bit.PLLC = 1;
PLLFEED = hw::PLLFEED_DATA1;
PLLFEED = hw::PLLFEED_DATA2;
}