msp430f149 xin xout管脚接外部高速8M晶振但是单片机进入低功耗LPM4后出低功耗重新等待晶振起振有时候会失败
单片机上电和出低功耗后都使用下面程序等待晶振稳定
void oscInit()
{
int i;
BCSCTL1|=XTS;
do
{
IFG1&=~OFIFG;
for(i=500;i>0;i--);
}
while((IFG1&OFIFG)!=0);
BCSCTL2|=SELM1+SELM0;
}
还有个问题当我把8M接到XIN2 XOUT2上时单片机工作不正常下面是接到XIN2 XOUT2的程序
void oscInit()
{
BCSCTL1 &= ~XT2OFF; // XT2on
do
{
IFG1 &= ~OFIFG; // Clear OSCFault flag
for (int i = 0xFF; i > 0; i--); // Time for flag to set
}
while ((IFG1 & OFIFG)); // OSCFault flag still set?
BCSCTL2 |= SELM_2 + SELS; // MCLK = SMCLK = XT2 (safe)
}
单片机进入低功耗LPM3,出低功耗是BCSCTL1 &= ~XT2OFF;delayMs(50);