我一直在尝试使用许多不同的方法在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之间的整数。
答案 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
让他们使用strcat
或sprintf
http://arduino.cc/en/Serial/ParseInt, http://arduino.cc/en/Serial/ParseFloat