|
3
各位大神,我参考Arduino学习笔记A6(补充) - 在串口读取多个字符串,并且转换为数字数组http://www.geek-workshop.com/thread-260-1-1.html
写出了如下程序
void loop()
{ int j=0;
while(Serial.available()>0)
{comdata += char(Serial.read());
delay(2);
mark=1;
}
if(mark==1)
{
Serial.println(comdata);
Serial.println(comdata.length());
for(int i=0;i<comdata.length();i++)
{
if(comdata==',')
{
j++;
}
else
{numdata[j]=numdata[j]*10+(comdata-'0');
}
}
comdata=String("");
然后用
Serial.println(numdata[0]);
Serial.println(numdata[1]);
Serial.println(numdata[2]);
查看数据,不知道为什么numdata[2]总是前面多出一个1,
比如说我输的是20,30,40
他的结果就会使numdata[0]=20
numdata[1]=30
numdata[2]=140
这是什么情况,思考了好久,没有头绪啊,谢谢各位大神了 |
|