振荡器失效标志不能清除
时间:10-02
整理:3721RD
点击:
写了个最小的程序,外接有晶振,但是程序就停在do while循环哪里,震荡标志不能清除,求指导,绕过清除震荡标志的程序,我写了个让1.0口输出脉冲的程序,还可以工作,再写别的程序就跑飞了
#include<msp430x11x2.h>
void main ()
{ int i;
WDTCTL=WDTHOLD+WDTPW;
do
{
IFG1&=~OFIFG;
for(i=0xff;i>0;i--);
}
while((IFG1&OFIFG)!=0);
BCSCTL2|=SELM_2+divM_3;
while(1);
}
#include<msp430x11x2.h>
void main ()
{ int i;
WDTCTL=WDTHOLD+WDTPW;
do
{
IFG1&=~OFIFG;
for(i=0xff;i>0;i--);
}
while((IFG1&OFIFG)!=0);
BCSCTL2|=SELM_2+divM_3;
while(1);
}
你都没没有写跳出循环的语句,加上试试
我把while((IFG1&OFIFG)!=0);中去掉括号变成while(IFG1&OFIFG!=0);就能运行过去到while(1);但是在iar中把IFG1 add to watch,他的值还是0x02,就是OFIFG根本没有清零,不知道去括号后是怎么运算的,还有晶振两端是一个1.7v,一个几百毫v,但是没有波形,