t = GetEchoTimer(); length = ((float)t/58.0);//单位时cm sum =length+sum; // TIM2->CNT=0; //将TIM2计数寄存器的计数值清零 //overcount=0; //中断溢出次数清零 // delay_ms(10); } length = sum/2;//五次平均值 return length; }
时间: 2023-07-16 08:12:12 浏览: 116
这段代码看起来是用来测量超声波模块返回的距离。首先用 GetEchoTimer() 函数获取超声波模块返回的脉冲时间 t,然后将其转换为距离 length(单位为 cm)。sum 变量用来累加五次测量的距离值,最后再除以 2 求出五次平均值。TIM2->CNT=0; 是将 TIM2 计数寄存器的计数值清零,overcount=0; 是中断溢出次数清零。最后返回测量的距离值 length。
阅读全文