This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

msp430f5529时钟模块,启用外部时钟



在使用外部晶振的时候,我应该已经打开了XT2,在测管脚的输出时,也有我需要的频率,4MHz,但是,程序一直在do

{

 UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG + DCOFFG); //Clear XT2,XT1,DCO fault flags

 SFRIFG1 &= ~OFIFG;       //Clear fault flags

}while (SFRIFG1&OFIFG);这段程序里走,导致后面的程序执行不了。。

具体代码如下

P1DIR |= BIT0;

P1SEL |= BIT0;              //可以看ACLK的频率

P2DIR |= BIT2;

P2SEL |= BIT2;             //SMCLK

P7DIR |= BIT7;

P7SEL |= BIT7;             //MCLK

P5SEL |= BIT2+BIT3;

UCSCTL6 &= ~XT2OFF;          //打开XT2

    UCSCTL4 |= SELM__XT2CLK + SELS__XT2CLK;                 // MCLK =SMCLK= XT2 HF XTAL (safe)

__bic_SR_register(SCG0);                //Enable the FLL control loop

__delay_cycles(8192);

do

{

 UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG + DCOFFG); //Clear XT2,XT1,DCO fault flags

 SFRIFG1 &= ~OFIFG;       //Clear fault flags

}while (SFRIFG1&OFIFG);