时钟初始化do while语句跳不出来

2019-03-24 12:42发布

// 时钟初始化程序
void Clock_Init()
{
  unsigned char i;
  P5SEL=0X0C;
  P7SEL=0X00;
  //_bis_SR_register(SCG0);
  UCSCTL6=0X4001;                                    //打开XT2,XT1,SMCLK
  UCSCTL4|=SELM_5+SELS_5;                           //MCLK,SMCLK都选择XT2
  UCSCTL5|=DIVS_3+DIVM_0;                          //MCLK不分频,SMCLK8分频
  do
  {
    UCSCTL7 &= ~(XT2OFFG);                  // Clear XT1 & DCO fault flags
    SFRIFG1 &= ~OFIFG;                      // Clear OSC Fault flag
    for (i = 0xFF; i > 0; i--) ;           // Time for flag to set
   
  }while ( (SFRIFG1 & OFIFG) );
}
上面那个程序中do_while语句跳不出来,一直在执行,如果把while条件直接屏蔽变为while(0),就可以跳出循环了,但是这个子函数必须得一步一步烧写,点击go会导致串口信息发送回收不匹配,比如说不管你发送多少字符,回收的不是80就是00 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答
zh2244ou
2019-03-24 23:38
补充下,就是串口3这个232芯片我就用了一个232,还有个232接口被我悬空了,则会不会造成影响?

一周热门 更多>

相关问题

    相关文章