程序总死在for那里,外部晶振不需要接吧?

2019-07-14 16:57发布

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那里,外部晶振不需要接吧?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
huzp_bbs
1楼-- · 2019-07-16 04:04
那就是说外部的低频晶振必须要用上的才行
kszdj113
2楼-- · 2019-07-16 08:50
如果你定义了这个芯片的系统主时钟为XT2时钟源,
那么你的XT2引脚就必须接晶振,否则芯片无法工作。
kdsnvjsnjk
3楼-- · 2019-07-16 12:28
只要芯片配置了系统主时钟,不接晶振也能工作
c1441424
4楼-- · 2019-07-16 14:07
另外,for循环中的i变量可以设小一点,几百就行。
lingjianghui
5楼-- · 2019-07-16 14:33
 精彩回答 2  元偷偷看……

一周热门 更多>