在线时间0 小时
UID422205
注册时间2013-3-20
NXP金币0
该用户从未签到
新手上路

- 积分
- 1
- 最后登录
- 1970-1-1
|
MCG_C2=0x28;
SIM_SCGC4 |= SIM_SCGC4_LLWU_MASK;
PMC_REGSC=PMC_REGSC_ACKISO_MASK;
MCG_C1 = MCG_C1_CLKS(2) | MCG_C1_FRDIV(0); //MCGOUTCLK 选择外部参考时钟 设置一个 FRDIV 分频,其实不必要。因为 FLL 不会用到
PMC_REGSC |= PMC_REGSC_ACKISO_MASK;
MCG_C6=0;
while (MCG_S & MCG_S_IREFST_MASK); // 等待 FLL 参考时钟变成 external ref-erence clock
while (((MCG_S & MCG_S_CLKST_MASK) >> MCG_S_CLKST_SHIFT) != 0x2); //等待时钟状态显示为外部参考时钟(ext ref clk)//进入 PBE 模式
//MCG_C5配置PLL
//由于外部用的有源晶振是20M,而0x01对应的分频系数是2,则分频后是20/2=10M
MCG_C5 = MCG_C5_PRDIV0(1); // 设置 PLL 匹配晶振的参考分频数
//确保MCG_C6处于复位状态,禁止LOLIE、PLL、和时钟控制器,清PLL VCO分频器
//倍频,以及废除一些检测位
MCG_C6 = 0x0;
//PLL的选择,取决于参数的时钟选项
set_sys_dividers(0,1,2,5); //core=150M, bus=75M, FlexBus=50M, Flash Clk=25M
MCG_C6 = MCG_C6_PLLS_MASK | MCG_C6_VDIV0(11); //VDIV = 10(10*30)300MHz//pll_freq = 150;
while (!(MCG_S & MCG_S_PLLST_MASK)){}; // wait for PLL status bit to set
while (!(MCG_S & MCG_S_LOCK0_MASK)){}; // Wait for LOCK bit to set// Now running PBE Mode// Transition into PEE by setting CLKS to 0// CLKS=0, FRDIV=3, IREFS=0, IRCLKEN=0, IREFSTEN=0
MCG_C1 &= ~MCG_C1_CLKS_MASK;// Wait for clock status bits to update
while (((MCG_S & MCG_S_CLKST_MASK) >> MCG_S_CLKST_SHIFT) != 0x3){};// Now running PEE Mode}
为什么我初始化后IO口模拟SPI程序做LCD的显示,会特别慢。
|
|