用的外部高速晶振是14.7456mhz的晶振,起振电容是22PF。
起振时间290ms上下波动不一定,而且这个起振时间正常吗?我个人觉得有点怪异。
这个起振时间是重休眠唤醒算起的,休眠模式是LPM4.
晶振代码如下:
void ClkInit()
{
char i;
BCSCTL1 &= ~XT2OFF; //打开XT2振荡器
BCSCTL3 |= XT2S_2; // 3 ?16MHz crystal or resonator
IFG1&=~OFIFG; //清除振荡错误标志
while((IFG1&OFIFG)!=0)
{
for(i=0;i<0xff;i++);
IFG1&=~OFIFG; //清除振荡错误标志
}
BCSCTL2 |= SELM_2+SELS+DIVS_3; //MCLK为14.7456MHz,SMCLK为1.8432MHz
}
睡眠时的时钟切换代码如下:
BCSCTL1 = XT2OFF+RSEL2;
DCOCTL=DCO2;
各位大神帮忙看看哪里有不妥啊? |