程序是这样的
#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(;;);
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
#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
}
一周热门 更多>