求解释下下列的代码的意思
时间: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 跳出循环。
谢谢了