MSP430高速晶振起振时间的问题

2019-07-24 15:06发布

用的外部高速晶振是14.7456mhz的晶振,起振电容是22PF。
起振时间290ms上下波动不一定,而且这个起振时间正常吗?我个人觉得有点怪异。
这个起振时间是重休眠唤醒算起的,休眠模式是LPM4.


晶振代码如下:
  1. void ClkInit()
  2. {
  3.     char i;
  4.     BCSCTL1 &= ~XT2OFF;             //打开XT2振荡器
  5.     BCSCTL3 |= XT2S_2;             // 3 ?16MHz crystal or resonator
  6.     IFG1&=~OFIFG;                  //清除振荡错误标志
  7.     while((IFG1&OFIFG)!=0)
  8.     {
  9.         for(i=0;i<0xff;i++);
  10.         IFG1&=~OFIFG;               //清除振荡错误标志
  11.     }
  12.     BCSCTL2 |= SELM_2+SELS+DIVS_3;  //MCLK为14.7456MHz,SMCLK为1.8432MHz
  13. }
复制代码

睡眠时的时钟切换代码如下:
  1. BCSCTL1 = XT2OFF+RSEL2;
  2.     DCOCTL=DCO2;
复制代码

各位大神帮忙看看哪里有不妥啊?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
xqy281
1楼-- · 2019-07-25 03:23
现在问题的关键在于休眠之后的晶振振荡错误标志判断
看来震荡波形了,确实很早之前就震起来了,但判断标志要很久之后被清掉
huangxz
2楼-- · 2019-07-25 09:12
唤醒的时候,启动时钟程序是怎么写的,在中断里面就启动XT2吗
xqy281
3楼-- · 2019-07-25 10:25
我好了我又要"自圆其说"了。最近老是以这种方式结贴,是我牛逼了呢,还是高手都不活跃了呢?

言归正传~
为什么休眠之后会有那么长的起振时间呢?看来几页的DataSheet终于找到原因了
430默认是会去起振32.768的晶振的,刚好我又焊上去了,然后手册也说了起振时间是要几百毫秒的时间。
所以呢,把这个晶振关掉就好了
单片机菜菜
4楼-- · 2019-07-25 11:38
 精彩回答 2  元偷偷看……
309030
5楼-- · 2019-07-25 14:42
然后手册也说了起振时间是要几百毫秒的时间。

起振需要这么长时间啊
lwsn
6楼-- · 2019-07-25 17:44
然后手册也说了起振时间是要几百毫秒的时间。

也就是说290ms是正常的了

一周热门 更多>