FRDM-KL46Z内部参考时钟到48 MHz?

时间:2014-06-17 09:56:22

标签: c embedded arm clock

我正在为FRDM-KL46Z平台开发IAR编译器。 我想使用内部时钟并将其设置为48 MHz(或尽可能最大)。 到目前为止,我已在示例sysinit.c文件和函数sysinit()中完成了以下步骤。

#define NO_PLL_INIT

#if defined(NO_PLL_INIT)
mcg_clk_hz = 48000000;     // It only works on 21000000 Hz, otherwise I get garbage prints on UART0.
SIM_SOPT2 &= ~SIM_SOPT_PLLFLLSEL_MASK
uart0_clk_khz = (mcg_clk_hz) / 1000;
#else
....

在FEI模式下,如果我进行FBI模式或BLPI模式,我的时钟非常少。 我希望mcu clk在内部时钟中尽可能高。 (根据数据表,我认为它得到了支持,但我不知道怎么做?)

任何人都可以解释或任何代码参考,非常有必要。

1 个答案:

答案 0 :(得分:1)

通过这样做来修复它

#define NO_PLL_INIT

#if defined(NO_PLL_INIT)

MCG_C4 |= (MCG_C4_DRST_DRS(1) | MCG_C4_DMX32_MASK);
mcg_clk_hz = 48000000;

SIM_SOPT2 &= ~SIM_SOPT_PLLFLLSEL_MASK
uart0_clk_khz = (mcg_clk_hz) / 1000;

#else
....