创建并移植K10 BSP包的具体步骤和方法(三)
while((MCG_S MCG_S_IREFST_MASK) != 0x00U) {
/* 判断FLL参考源是否为外部参考时钟 */
}
while((MCG_S 0x0CU) != 0x08U) { //等待,直到外部参考时钟作为MCG的输出
}
/* 切换到 PBE 模式*/
OSC_CR = OSC_CR_ERCLKEN_MASK;
SIM_SOPT2 = (uint32_t)~(uint32_t)(SIM_SOPT2_MCGCLKSEL_MASK);
MCG_C1 = (MCG_C1_CLKS(0x02) | MCG_C1_FRDIV(0x05) | MCG_C1_IRCLKEN_MASK);
MCG_C2 = (MCG_C2_RANGE(0x02) | MCG_C2_EREFS_MASK);
MCG_C5 = MCG_C5_PRDIV(0x07);
MCG_C6 = (MCG_C6_PLLS_MASK | MCG_C6_VDIV(0x08));
while((MCG_S 0x0CU) != 0x08U) { /*等待,直到外部参考时钟作为MCG输出*/
}
while((MCG_S MCG_S_LOCK_MASK) == 0x00U) { /* 等待直到锁住*/
}
/* 切换到 PEE模式 */
OSC_CR = OSC_CR_ERCLKEN_MASK;
SIM_SOPT2 = (uint32_t)~(uint32_t)(SIM_SOPT2_MCGCLKSEL_MASK);
MCG_C1 = (MCG_C1_FRDIV(0x05) | MCG_C1_IRCLKEN_MASK);
MCG_C2 = (MCG_C2_RANGE(0x02) | MCG_C2_EREFS_MASK);
MCG_C5 = MCG_C5_PRDIV(0x07);
MCG_C6 = (MCG_C6_PLLS_MASK | MCG_C6_VDIV(0x08));
while((MCG_S 0x0CU) != 0x0CU) { /* 等待,直到PLL输出*/

评论