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.

Msp430f5529XT2晶振无法起振



使用lanuchpad和driverlib的例程程序一直在清除错误标志位下

  • P1DIR |= BIT0;
    P1SEL |= BIT0; //P1.0输出ACLK

    P1.0已有4M的输出

  • #include <msp430.h>

    int main(void)
    {
    volatile unsigned int i; //循环变量
    WDTCTL = WDTPW | WDTHOLD; // stop watchdog timer
    P4DIR |= (BIT1+BIT7); //P4.7观察现象,P4.1用于示波器观测
    P4OUT |= (BIT1+BIT7); //输出高电平,点亮LED
    P1DIR |= BIT0;
    P1SEL |= BIT0; //P1.0输出ACLK
    P2DIR |= BIT2;
    P2SEL |= BIT2; //P2.2输出SMCLK

    P5SEL |= BIT2+BIT3; //P5.2和P5.3选择XT2晶振功能
    UCSCTL3 |= SELREF_5; //设置FLL参考时钟源为XT2CLK
    UCSCTL4 |= SELA_5; //必须要设置这一句配置ACLK = XT2CLK
    do
    {
    UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG + DCOFFG);
    //清除XT2,XT1,DCO故障失效标志位
    SFRIFG1 &= ~OFIFG; //清除晶振故障失效中断标志位
    }while(SFRIFG1&OFIFG); //晶振故障失效中断标志位
    UCSCTL6 &= ~XT2DRIVE_0; //XT2 = 4M,减少XT2驱动能力
    UCSCTL4 |= SELS_5 + SELM_5; //配置MCLK = SMCLK = XT2CLK

    while(1)
    {
    P4OUT ^= (BIT1+BIT7); //LED状态取反
    for(i = 50000;i>0;i--); //delay
    }
    }
    程序如上
  • 请问您的XT1配置是怎样的? XT1 Mode,XT1 bypass以及XT1 drive。
    另外您的电路部分XTI是怎样的?关于XT1您可以看一下 www.ti.com/.../slaa322d.pdf