void Init_Clk( void )
{
WDTCTL = WDTPW + WDTHOLD; // 关看门狗
BCSCTL3 |= XT2S_2; // XT2频率范围设置
BCSCTL1 &= ~XT2OFF; // 打开XT2振荡器
do
{
IFG1 &= ~OFIFG; // 清振荡器失效标志
BCSCTL3 &= ~XT2OF; // 清XT2失效标志
for( uint i = 0x47FF; i>0; i-- ); // 等待XT2频率稳定
}while (IFG1 & OFIFG); // 外部时钟源正常起动了吗?
BCSCTL2 |= SELM_2 + SELS ; // 设置MCLK、SMCLK为XT2
}
程序总死在for那里,外部晶振不需要接吧? |