hc-sr04超声波测距程序老是跑飞,求助。

2019-07-15 11:19发布

我用51单片机芯片,数码管在中断中动态显示,经测试,数码管显示正常,数据处理函数正常。
但下面的程序老是跑飞,开机数码管显示几次就跑飞了。是整个程序跑飞,跑飞后中断是进不去的。

求解答
void HC_SR04(unsigned char *buffer)
{
        if(Flag_HC_SR04_Set == 1)
        {
                uint32 distance;
                Flag_HC_SR04_Set = 0;
                               
                Trig = 1;
                delay();
                Trig = 0;
               
                Echo = 1;
                while(!Echo)
                {
                }
                TR1 = 1;
                while(Echo)
                {
                }       
                TR1 = 0;
                distance = ((TH1 * 256) + TL1) * 1.87 / 100;
                SEG_LED_Dispose(distance,buffer);                //将数据转成数码管显示数据
                TH1 = 0;
                TL1 = 0;
        }
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。