本帖最后由 paulhyde 于 2014-9-15 08:54 编辑
请教高手指点下面的代码:用定时器A测频率的代码,红色标注的是什么意思啊,求解!!!
void main() { uchar temp=0; WDTCTL=WDTPW+WDTHOLD; int_clk(); //初始化时钟 int_cap(); //初始化CAP int_spi(); _EINT(); //开总中断 while(1) { while(flag) //查询捕捉标志 { _DINT(); flag=0; //清零捕捉标志 str[temp]=TACCR1; //读时间str temp++; if(temp==2) { count=str[1]-str[0]; //保存2次捕捉信号的时间差,计算出信号频率 count=8000/count; count=count*1000; temp2=(uint)count; temp1=temp2/1000; a1=temp1; temp2=temp2-temp1*1000; temp1=temp2/100; temp2=temp2-temp1*100; a2=temp1; temp1=temp2/10; temp2=temp2-temp1*10; a3=temp1; a4=temp2; display(a4); display(a3); display(a2); display(a1); str[0]=0; str[1]=0; temp=0; delay(); delay(); } _EINT(); } } }
|