在线情况
楼主
  • 头像
  • 级别
    • 积分4
    • 经验47
    • 文章3
    • 注册2011-04-19
    MSP430F249晶振不起振
    用249替代149,管脚也兼容,换了芯片,换了16m晶振,接在XT2上,负载电容用22p的,但是晶振就是起不来,只用了XT2。
      WDTCTL = WDTPW + WDTHOLD;
      BCSCTL1 &= ~XT2OFF;                  // XT2= HF XTAL
      BCSCTL3 |= XT2S_2;                        // 3 ?16MHz crystal or resonator
      do
      {
      IFG1 &= ~OFIFG;                      // Clear OSCFault flag
      for (i = 0x47FF; i > 0; i--);        // Time for flag to set
      }
      while((IFG1 & OFIFG));               // OSCFault flag still set?  
      BCSCTL2 |= SELM_2;                    //?MCLK =XT2
    总死在while((IFG1 & OFIFG)); 这里,这是什么原因呢,晶振到XT2管脚只有几个毫米  [EM09]
    在线情况
    2
    • 头像
    • 级别
      • 积分4
      • 经验47
      • 文章3
      • 注册2011-04-19
      谁帮我看看问题,目前只能用DOC 16M跑,不知道是否稳定,测出来MCLK是16.102m
      微控网感谢您的参与
      在线情况
      3
      • 头像
      • 级别
      • 门派
      • 职务总版主
      • 声望+9
      • 财富5
      • 积分3065
      • 经验390701
      • 文章6744
      • 注册2006-03-07
      TI不是有提供这些基础例程吗,用他的例子一定能跑动啊~。人人都这样用的,不可能不行的~
      [COLOR=#0000ff]欢迎发贴分享设计心得、开源DIY...[/COLOR]
      在线情况
      4
      • 头像
      • 级别
        • 积分2
        • 经验531
        • 文章24
        • 注册2009-05-28
        程序没问题吧,是不是晶振没有起振啊,可以测测晶振引脚的电压和波形,看看是不是真的没有起振。
        void InitSys(void)
        {
         
          WDTCTL=WDTPW+WDTHOLD;              //关闭看门狗
          char i;
          BCSCTL1&=~XT2OFF;                 //打开XT2晶振
          do
          {
            IFG1&=~OFIFG;                   //时钟错误标志位清零
            for(i=0;i<100;i++)
            _NOP();
           
          }
          while((IFG1&OFIFG)!=0);           //检测时钟运行是否正常,正常则跳出循环
          BCSCTL2|=SELM1+SELS;              //时钟频率MCLK=7.3728MHz
          BCSCTL2|=DIVS_3;//+DIVM_3;           //SMCLK和MCLK的时钟频率采用8分频SMCLK、MCLK=7.3728/8 =0.9216 MHz
          STLC_SEL&=~(BIT6+BIT7);
          STLC_DIR|=(BIT6+BIT7);            //设置选通端口
          _EINT();                          //打开全局中断控制
         
        }
        这是我用过的,149的,如果你怕是程序问题,改改试试看。          
        微控网感谢您的参与
        在线情况
        5
        • 头像
        • 级别
          • 积分4
          • 经验47
          • 文章3
          • 注册2011-04-19
          同样的板子,我用149放上去,8m一点没问题,用249后,XT2的8m也起不起来,现在用LFXT1高速模式挂了个16m的晶振能跑起来,XT2还是没办法,ti的样例程序摆进去还是不行,别的程序不添加,还是死在while((IFG1 & OFIFG));
          我尝试换负载电容,换了后,有时用手摸两下,就能跳过while,但是还是不能正常跑XT2的16m
          微控网感谢您的参与
          在线情况
          6
          • 头像
          • 级别
          • 门派
          • 职务总版主
          • 声望+9
          • 财富5
          • 积分3065
          • 经验390701
          • 文章6744
          • 注册2006-03-07
          我们用的都非常正常工作啊~搞不懂你那个是什么问题。不会购买到有问题的片子吧~~~
          [COLOR=#0000ff]欢迎发贴分享设计心得、开源DIY...[/COLOR]
          Powered by LeadBBS 9.2 .
          Page created in 0.1719 seconds with 5 queries.