如何更改此循环到C中的for循环?

时间:2013-02-01 12:20:51

标签: c robotics

此代码用于使模拟器中的机器人使用C在特定路径中移动。 while循环 的代码是我需要进行更改的地方,我是想知道如何更改代码,以便机器人沿直线移动并停止,以及如何使用“定时距离”使其以三角形移动。

while (1) {
    sprintf(buf, "M LR 60 -60\n");
    write(sock, buf, strlen(buf));
    memset(buf, 0, 80);
    read(sock, buf, 80);
}

M LR是机器人中左右电机的名称(机器人有两个电机可以移动),60和-60是它们的速度。这段代码使机器人旋转。

完整代码位于以下链接中:[C Robot]

如何使此代码有效?

int k = 1;

for (k = 1; k < 3 ; k++){
    sprintf(buf, "M LR 20 10\n");
    write(sock, buf, strlen(buf));
    memset(buf, 0, 80);
    read(sock, buf, 80);
}

for (k=3; k > 3; k++) {
    sprintf(buf, "M LR 0 0\n");
    write(sock, buf, strlen(buf));
    memset(buf, 0, 80);
    read(sock, buf, 80);
}

1 个答案:

答案 0 :(得分:2)

for(;;) {
    sprintf(buf, "M LR 60 -60\n");
    write(sock, buf, strlen(buf));
    memset(buf, 0, 80);
    read(sock, buf, 80);
}

我认为没有理由这样做。