|
{:soso_e154:}请问一下各位大神,为什么我的程序控制舵机只能动一次,下一次输入就没反应了
{:soso_e154:}
参考:Arduino学习笔记A6(补充) - 在串口读取多个字符串,并且转换为数字数组
#include<Servo.h>
Servo servo1;
Servo servo2;
Servo servo3;
String comdata="";
int numdata[3],mark=0;
void setup()
{
servo1.attach(8);
servo2.attach(9);
servo3.attach(10);
Serial.begin(9600);
}
void loop()
{
int j=0;
while(Serial.available()>0)
{comdata+=char(Serial.read());
delay(2);
mark=1;
}
if(mark==1)
{
Serial.println(comdata.length());
for(int i=0;i<comdata.length()-1;i++)
{
if(comdata[i]==',')
{
j++;
}
else
{numdata[j]=numdata[j]*10+(comdata[i]-'0');
}
}
comdata=String("");
for(int i = 0; i <3; i++)
{
servo1.write(numdata[1]);
servo2.write(numdata[2]);
servo3.write(numdata[3]);
numdata[i]=0;
}
mark=0;
}
}
本人大一0基础自学,遇到问题真不知道从哪里下手,只能来论坛里问各位大哥。。。谢谢了
{:soso_e154:} |
|