发新帖我要提问
12
返回列表
打印

MSP430F249外接8M晶振,不起振,什么情况?

[复制链接]
楼主: qq4988
手机看帖
扫描二维码
随时随地手机跟帖
21
外方爱 发表于 2016-1-7 10:07
具体怎么设置的,求指点

/********************************************
函数名称:Clock_Init
功能    :系统时钟初始化
参数    :无
返回值  :无
其它    :MCLK = 12MHz, SMCLK = 1MHz
**********************************************/
void Clock_Init(void)
{
  u16 time = 10;                   //定义一个常数,
                                   //外部时钟在这个时间内如果还是不能起振则选择内部时钟
  BCSCTL1 &= ~XT2OFF;              //开启XT2振荡器
  BCSCTL3 |= XT2S_2 + LFXT1S_2;
  do
  {
    IFG1 &= ~OFIFG;                //清除振荡器失效标志
    __delay_cycles(100);           //在外部晶振还没有起振时,时钟来源于内部大概1MHz的DCO
  }
  
  while ((IFG1 & OFIFG) && --time);//查询时钟切换成功
  if (time == 0)                   //外部时钟有问题
  {
    BCSCTL1 |= XT2OFF;             //关闭XT2振荡器
  }
  else                             //外部时钟正常起振
  {
    BCSCTL2 = 0X80;                //MCLK的时钟源为XT2,分频系数为1
                                   //SMCLK的时钟源为内部DCO,分频系数为1
  }
}

使用特权

评论回复
22
外方爱| | 2016-4-1 16:53 | 只看该作者
感谢 大神的帮助,经过我的测试 终于明白了具体的时钟设置

2016-04-01_165338.jpg (124.42 KB )

2016-04-01_165338.jpg

使用特权

评论回复
23
外方爱| | 2016-4-1 16:56 | 只看该作者
两行设置,每一行的设置不同,时钟也就不同,终于有了一个直观的表现,找到相关的引脚,设置MCLK,SMCLK,ACLK输出,通过示波器观察,得到结果如图

2016-04-01_165419.jpg (147.22 KB )

2016-04-01_165419.jpg

使用特权

评论回复
24
哇咔咔32| | 2016-9-24 21:59 | 只看该作者
呵呵,我也是才知道,学习了

使用特权

评论回复
25
ctd| | 2020-4-9 16:29 | 只看该作者
谢谢,很详细,学习了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则