极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 14049|回复: 1

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

[复制链接]
发表于 2013-4-18 15:38:24 | 显示全部楼层 |阅读模式
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
这是什么情况,思考了好久,没有头绪啊,谢谢各位大神了

回复

使用道具 举报

发表于 2013-4-19 09:06:16 | 显示全部楼层
我最近也在琢磨同楼主类似的串口读取的问题且也没解决,坐等高手解答!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-5-3 23:51 , Processed in 0.038857 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表