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

[复制链接]
815|9
 楼主| houcs 发表于 2015-4-13 22:16 | 显示全部楼层 |阅读模式

/******************************************************************/
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那里,外部晶振不需要接吧?
liuzaiy 发表于 2015-4-13 22:17 | 显示全部楼层
XT2是外部晶振啊,肯定要接的,试试把i的值改小点看看
yinxiangh 发表于 2015-4-13 22:17 | 显示全部楼层
按楼上的方法试试
pangb 发表于 2015-4-13 22:17 | 显示全部楼层
外部晶振不接,你是如何来处理的,不会是悬空吧。
chenjunt 发表于 2015-4-13 22:17 | 显示全部楼层
外部晶振,是不是需要接,不是看软件的,是要看硬件需求,是否有接外部时钟的需要,主要看精度要求;
chenjunt 发表于 2015-4-13 22:17 | 显示全部楼层

如果没接外部晶振,您程序中却在判断外部时钟是否稳定起振,那肯定是死等了。
ousj 发表于 2015-4-13 22:18 | 显示全部楼层
外部高频晶振和低频晶振有两个接口,低频叫X1,一般接手表晶振,Xin and Xout ,顺便外壳接地。高频X2如果用到的话,就肯定要连接外部高频晶振。既然楼主不连外部高频晶振,为什么程序中还要去判断高频晶振起振稳定了没?
MSP时钟有3路输入,X1,X2,DCO,一般情况下,由X1产生ACLK,DCO提供SMCK and MCLK。
各位对我的回答有什么意见,请多指教。
morrisk 发表于 2015-4-13 22:18 | 显示全部楼层
在设计电路时,基本上都不外部晶振给接上了,没有不接的
 楼主| houcs 发表于 2015-4-13 22:18 | 显示全部楼层
好的, 我知道啦
 楼主| houcs 发表于 2015-4-13 22:18 | 显示全部楼层
多谢大家,结贴了哈
您需要登录后才可以回帖 登录 | 注册

本版积分规则

743

主题

8382

帖子

5

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