在串口读取多个字符串,并且转换为数字数组时遇到的问题
各位大神,我参考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=numdata*10+(comdata-'0');
}
}
comdata=String("");
然后用
Serial.println(numdata);
Serial.println(numdata);
Serial.println(numdata);
查看数据,不知道为什么numdata总是前面多出一个1,
比如说我输的是20,30,40
他的结果就会使numdata=20
numdata=30
numdata=140
这是什么情况,思考了好久,没有头绪啊,谢谢各位大神了 我最近也在琢磨同楼主类似的串口读取的问题且也没解决,坐等高手解答!
页:
[1]