void InitCpuClock(void)
{
CLK_CKDIVR |= 0x00; // CPU 时钟分频 1,CPU时钟 = 外部时钟(即是外部晶振频率)
CLK_ECKR_HSEON |= 1; // 允许外部高速振荡器工作
while(!(CLK_ECKR & 0x02)); // 等待外部高速振荡器准备好
CLK_SWCR = 0x02; // 使能切换
CLK_SWR = 0x04; // 选择芯片外部的高速振荡器为主时钟
while((CLK_SWCR&0x08)==0); // 等待切换成功
CLK_SWCR &= ~(CLK_SWCR_SWEN|CLK_SWCR_SWIF); // 清除切换标志
}
这是我们时钟初始化,程序卡在 while((CLK_SWCR&0x08)==0); 这句了 |