[疑难问答] 程序总死在for那里

[复制链接]
1079|12
 楼主| androidbus 发表于 2017-11-12 16:07 | 显示全部楼层 |阅读模式
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那里,外部晶振不需要接吧?
litengg 发表于 2017-11-12 16:11 | 显示全部楼层
一般比如51的P0口OC门等,上拉电阻给未确定电平的端口一个确定的电平
qiangweii 发表于 2017-11-12 16:12 | 显示全部楼层

外部晶振不接,你是如何来处理的,不会是悬空吧。
shashaa 发表于 2017-11-12 16:16 | 显示全部楼层
外部晶振,是不是需要接,不是看软件的,是要看硬件需求,
xia00 发表于 2017-11-12 16:17 | 显示全部楼层
是否有接外部时钟的需要,主要看精度要求
hfdy01 发表于 2017-11-12 16:21 | 显示全部楼层

外部晶振,是不是需要接,不是看软件的,是要看硬件需求
CallReceiver 发表于 2017-11-12 16:22 | 显示全部楼层
如果没接外部晶振,您程序中却在判断外部时钟是否稳定起振,那肯定是死等了。
boy1990 发表于 2017-11-12 16:25 | 显示全部楼层
在设计电路时,基本上都不外部晶振给接上了,没有不接的
sourceInsight 发表于 2017-11-12 16:26 | 显示全部楼层
这个跟晶振应该是相关系的
bbapple 发表于 2017-11-12 16:28 | 显示全部楼层
如果你定义了这个芯片的系统主时钟为XT2时钟源,
那么你的XT2引脚就必须接晶振,否则芯片无法工作。
handleMessage 发表于 2017-11-12 16:30 | 显示全部楼层
那就是说外部的低频晶振必须要用上的才行吧
zhouhuanの 发表于 2017-11-12 16:32 | 显示全部楼层
是的,这个跟外部晶振是非常有关系的。。。
 楼主| androidbus 发表于 2017-12-2 17:14 | 显示全部楼层
结贴啦,多谢大家的回复,学到了很多,慢慢熟悉就好了吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

181

主题

1597

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部