微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 振荡器失效标志不能清除

振荡器失效标志不能清除

时间: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);
}

你都没没有写跳出循环的语句,加上试试

我把while((IFG1&OFIFG)!=0);中去掉括号变成while(IFG1&OFIFG!=0);就能运行过去到while(1);但是在iar中把IFG1 add to watch,他的值还是0x02,就是OFIFG根本没有清零,不知道去括号后是怎么运算的,还有晶振两端是一个1.7v,一个几百毫v,但是没有波形,

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top