发 帖  
[问答] 程序总死在for那里,外部晶振不需要接吧?
4 天前  307 晶振
收藏 1 收藏 推荐 0 推荐
分享
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那里,外部晶振不需要接吧?
4 天前   评论 邀请回答
12个回答
XT2是外部晶振啊,肯定要接的,试试把i的值改小点看看
外部晶振不接,你是如何来处理的,不会是悬空吧。
i是无符号的... 改成有符号的试试
外部晶振,是不是需要接,不是看软件的,是要看硬件需求。。
是否有接外部时钟的需要,主要看精度要求吧。。
如果没接外部晶振,您程序中却在判断外部时钟是否稳定起振,那肯定是死等了。
在设计电路时,基本上都不外部晶振给接上了,没有不接的。
那就是说外部的低频晶振必须要用上的才行
如果你定义了这个芯片的系统主时钟为XT2时钟源,
那么你的XT2引脚就必须接晶振,否则芯片无法工作。
只要芯片配置了系统主时钟,不接晶振也能工作
另外,for循环中的i变量可以设小一点,几百就行。
是while的条件没有满足

撰写答案

你正在撰写答案

如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。

高级模式
您需要登录后才可以回帖 登录 | 注册

提问题
关闭

站长推荐 上一条 /9 下一条

快速回复 返回顶部 返回列表