比如说我想将整个代码块输入命令:
int k = 0;
for (k = 0; k < 50; k++)
{
sprintf(buf, "M LR 10 -10\n"); //We put the string "M L 10" into the string buffer.
write(sock, buf, strlen(buf)); //We send the buffer into the socket.
memset(buf, 0, 80); //Clear the buffer, set buffer to value 0.
read(sock, buf, 80); //Read from the socket to get the results.
int lme, rme;
sprintf(buf, "S MELR\n"); //sensor command to find ME values
write(sock, buf, strlen(buf)); //sends the buffer to the socket
memset(buf, 0, 80); //Clear the buffer, set buffer to value 0.
read(sock, buf, 80); //read from socket to get results.
sscanf(buf, "S MELR %i %i\n", &lme, &rme); //takes lme and rme values from results
printf(buf, "%3i %-4i\n", lme, rme);
//distance = 2 * (22/7) * r
}
for (k = 50; k < 51; k++)
{
sprintf(buf, "C RME\n"); //We put the string "C RME" into the string buffer to reset.
write(sock, buf, strlen(buf)); //We send the buffer into the socket.
memset(buf, 0, 80); //Clear the buffer, set buffer to value 0.
read(sock, buf, 80); //Read from the socket to get the results.
}
这使我能够只更改{sprintf(buf, "M LR 10 -10\n");}
中的字符串值,即10
和-10
,其余部分将自行执行:
set_motor_speed(10 -10\n)
会执行整个功能,怎么做呢?
答案 0 :(得分:5)
正如其他人所说:你可以在C语言书中读到这类事情,但是我们很高兴:
set_motor_speed(int a, int b) {
...
for(k = 0; k < 50; k++) {
sprintf(buf, "M LR %i %i\n", a, b);
...
}
...
}
set_motor_speed(10, -10);
set_motor_speed(5, -5);