lxp5521 发表于 2013-4-18 15:38:24

在串口读取多个字符串,并且转换为数字数组时遇到的问题

各位大神,我参考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
这是什么情况,思考了好久,没有头绪啊,谢谢各位大神了

fangtaonj 发表于 2013-4-19 09:06:16

我最近也在琢磨同楼主类似的串口读取的问题且也没解决,坐等高手解答!
页: [1]
查看完整版本: 在串口读取多个字符串,并且转换为数字数组时遇到的问题