作业帮 > 综合 > 作业

C语言的一道题,求高手解释

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/08/19 19:28:10
C语言的一道题,求高手解释
C语言的一道题,求高手解释
if(seconds()>5.0)
{
stop();
break;
}//运行超过5秒,停止,跳出while循环
wait(T);
v1=(float)rotation(1)*0.619/T;
v2=(float)rotation(2)*0.659/T;
printf("v1=%f,v2=%f\n",v1,v2);
}//等待T秒后,分别求出v1,v2,v1,v2是两个坐标方向上的速度,并打印
再问: 但是T明明给的是1.5s,这个while循环有意义么?
再答: 有意义啊,while(1)就是为了循环中代码一直运行,这是典型常驻检测程序的形式啊,T是为了设定检测的间隔罢了
再问: 那rotation这个函数需要先声明么?声明怎么写呢?
再答: 这个程序明显不全啊,rotation应给是给定的函数才对,我也是根据程序猜测是计算两个方向或是两个轮子的参数
再问: #include "M51Robot.H" /*头文件定义,请勿删除*/ #include "reg51.h" #include float v1,v2; float T=1.5; void main() { SetMoto(1,50); SetMoto(2,50); encoder_start(0); encoder_start(1); resettime(); while(1) { if(seconds()>5.0) { SetMoto(0,0); SetMoto(1,0); } wait(T); v1=(float)encoder_end(0)*0.619/T; v2=(float)encoder_end(1)*0.659/T; printf("v1=%f,v2=%f\n",v1,v2); } } 这是我改后的程序