使用lanuchpad和driverlib的例程程序一直在清除错误标志位下
user4754883:
P1DIR |= BIT0; P1SEL |= BIT0; //P1.0输出ACLK
P1.0已有4M的输出
user4754883:
#include <msp430.h>
int main(void)
{volatile unsigned int i;//循环变量WDTCTL = WDTPW | WDTHOLD;// stop watchdog timerP4DIR |= (BIT1+BIT7);//P4.7观察现象,P4.1用于示波器观测P4OUT |= (BIT1+BIT7);//输出高电平,点亮LEDP1DIR |= BIT0;P1SEL |= BIT0;//P1.0输出ACLKP2DIR |= BIT2;P2SEL |= BIT2;//P2.2输出SMCLK
P5SEL|= BIT2+BIT3;//P5.2和P5.3选择XT2晶振功能UCSCTL3 |= SELREF_5;//设置FLL参考时钟源为XT2CLKUCSCTL4 |= SELA_5;//必须要设置这一句配置ACLK = XT2CLKdo{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}
}
程序如上
Susan Yang:
回复 user4754883:
请问您的XT1配置是怎样的? XT1 Mode,XT1 bypass以及XT1 drive。
另外您的电路部分XTI是怎样的?关于XT1您可以看一下 www.ti.com/…/slaa322d.pdf