微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 求解释下下列的代码的意思

求解释下下列的代码的意思

时间:10-02 整理:3721RD 点击:

while(1)                 //无限循环
          {
             TR1=1;            //定时器T1启动
                  TH1=0;            //定时器T1高8位赋初值0
                  TL1=0;            //定时器T1低8位赋初值0
                  flag=0;           //时间还未满1分钟
                  while(flag==0)    //时间未满等待
                     ;
                 v=(TH1*256+TL1)*60; //计算速度,每周产生1个脉冲
                 display_val(v);        //显示速度
    }                        
}
这边的flag=0;后再一个while(flag==0)是什么意思
void Time0(void ) interrupt 1 using 1 //定时器T0的中断编号为1,使用第1组工作寄存器
  {
    count++;          //T0每中断1次,count加1
         if(count==20)     //若累计满20次,即计满1秒钟
          {
       flag=1;        //计满1秒钟标志位置1
                 count=0;       //清0,重新统计中断次数
          }
    TH0=(65536-46083)/256;   //定时器T0高8位重新赋初值
         TL0=(65536-46083)%256;   //定时器T0低8位重新赋初值
        
  }  

就是死等,一直等到定时器中断里把flag赋值为1,因为没有循环体,所以就是一直在判断flag是不是等于0,当不等于0的时候就执行下一条

while(flag==0)    等待 flag 非 0 跳出循环。

谢谢了

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

网站地图

Top