晶振不起振

2019-07-14 15:06发布

程序是这样的

#include <msp430x14x.h>

void main(void)
{
unsigned int i;
WDTCTL = WDTPW+WDTHOLD;
P5DIR =0X10;
P5SEL=0X10;
BCSCTL1&= XTS;
do{
  IFG1 &= ~OFIFG;
  for(i=0xff;i>0;i--);
  
  }
  while((IFG1&OFIFG)!=0);
BCSCTL2|=SELM1+SELM0;
  for(;;);
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
11条回答
dengdc
2019-07-14 23:50
例程代码你参考一下
#include  <msp430x14x.h>

void main(void)
{
  volatile unsigned int i;
  WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
  P5DIR |= 0x10;                            // P5.4= output direction
  P5SEL |= 0x10;                            // P5.4= MCLK option select
  BCSCTL1 &= ~XT2OFF;                       // XT2= HF XTAL

  do
  {
  IFG1 &= ~OFIFG;                           // Clear OSCFault flag
  for (i = 0xFF; i > 0; i--);               // Time for flag to set
  }
  while ((IFG1 & OFIFG));                   // OSCFault flag still set?

  BCSCTL2 |= SELM_2;                        // MCLK= XT2 (safe)

  for (;;);                                 // Do nothing
}

一周热门 更多>