本帖最后由 putin168 于 2013-4-21 16:16 编辑
写了一个小程序,,在外部中断里调用定时器0,但每次感觉输出的值不固定,,像是定时器0一直在计数。
贴上外部中断程序
void oter_adjust(void) interrupt 0
{
TR0=1; //开启定时器0
time3_flag=1;
while(1) //轮询各麦克风
{
if(time3_flag==1&&timer3==1) //麦克风3接收到信号
{
timer_3=(TH0<<8)+TL0; //提取时间差
time3_flag=0;
}
if(timer2==1) //麦克风2最后接收到信号
{
timer_2=(TH0<<8)+TL0; //提取时间差
TR0=0; //关闭定时器0
TH0=0x00;
TL0=0x00;
break; //跳出循环
}
}
ti_x=timer_2-timer_3; //麦克风2与麦克风3为速度控制
}
timer3,timer2是麦克风的输出
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>