Arduino将串行读取字符串拆分,然后转换为Int

时间:2013-12-08 12:37:55

标签: c++ string split serial-port arduino

我一直在尝试使用许多不同的方法在arduino中拆分字符串,但似乎没有任何效果。我的最新尝试:

String inData = "";
    int cPosition;
    String data[2];
    int count = 1;

    if (Serial.available() > 0) {

            int ssize = Serial.available();
            for(int i=0;i<ssize;i++){
              inData += (char)Serial.read(); 
            }

            do{
               cPosition =  inData.indexOf(':');
                if(cPosition != -1)
               {
                 data[count] = inData.substring(0,cPosition);
                 count++;
               } 
             }while(cPosition >=0);


            Serial.println(data[1]);

    }

我有两个值作为“00:00”进入并且我想要拆分它们,但也要将拆分值转换为Int,因为它们将始终是00到100之间的整数。

1 个答案:

答案 0 :(得分:0)

嘿,你有没有试过x=Serial.parseInt();这个读取下一个数据,如果它找到的一个整数,例如“fahijah123234fjrkaljf”进入x将与下一个整数值相同123234

//incommeing: jsj123456asklfj654321faskl
int x,y;
x=Serial.parseInt();
y=Serial.parseInt();

Serial.println(x);//123456
Serial.println(y);//654321

让他们使用strcatsprintf

http://arduino.cc/en/Serial/ParseInthttp://arduino.cc/en/Serial/ParseFloat