msp5438用25M晶振起振出问题,求救,程序如下,这个程序可以起振8M的!

2019-03-24 15:52发布

void InitSysCLK25M()  //使用外部时钟初始化时钟到14M以上
{
  P5SEL |= 0x0C;                            // Port select XT2
  UCSCTL6 &= ~XT2OFF;                       // Enable XT2
  UCSCTL3 |= SELREF_2;                      // FLLref = REFO
  // Since LFXT1 is not used,sourcing FLL with LFXT1 can cause
  // XT1OFFG flag to                                      
  UCSCTL4 |= SELA_2;                        // ACLK=REFO,SMCLK=DCO,MCLK=DCO
// Loop until XT1,XT2 & DCO stabilizes
  do
  {
    UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG + XT1HFOFFG + DCOFFG);
                                            // Clear XT2,XT1,DCO fault flags
    SFRIFG1 &= ~OFIFG;                      // Clear fault flags
  }while (SFRIFG1&OFIFG);                   // Test oscillator fault flag

  UCSCTL6 |= XT2DRIVE0+XT2DRIVE1;                    // Decrease XT2 Drive according to
  // XT2DRIVE0           (0x4000u)  XT2DRIVE1           (0x8000u)
  //00 4M~8M  01 8M~16M  10 16M~24M 11 24M~32M  现在选10,TI说是在16M内,奇怪了
  UCSCTL4 |= SELS__XT2CLK + SELM__XT2CLK;               // SMCLK=MCLK=XT2
} 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
水货老手
1楼-- · 2019-03-24 23:23
< 参考的是TI例程,只是把一些注释改了,UCSCTL6 |= XT2DRIVE0+XT2DRIVE1; 然后改了这句话,发现程序一直在do while里面,求高手指导!
水货老手
2楼-- · 2019-03-24 23:51
< :TI_MSP430_内容页_SA7 --> 求救求救!

一周热门 更多>

相关问题

    相关文章