振荡器失效标志不能清除

2019-07-15 21:12发布

写了个最小的程序,外接有晶振,但是程序就停在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);
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
馨雨
1楼-- · 2019-07-16 02:38
你都没没有写跳出循环的语句,加上试试
pikas
2楼-- · 2019-07-16 04:03
我把while((IFG1&OFIFG)!=0);中去掉括号变成while(IFG1&OFIFG!=0);就能运行过去到while(1);但是在iar中把IFG1 add to watch,他的值还是0x02,就是OFIFG根本没有清零,不知道去括号后是怎么运算的,还有晶振两端是一个1.7v,一个几百毫v,但是没有波形,

一周热门 更多>