Ich habe folgendes Problem:Arduino Spaltung erhielt Zeichenfolge in Worten
ich aus den seriellen Port-Daten in folgenden Form erhalten mag: "30,45,33,22 \ n"; Ich möchte die Zeichenfolge durch die Kommas teilen nach Eingabe der \ n'char und setzen Sie jeden Wert in eine int-Array. Das Problem ist, ich versuchte eine Kombination von strtok und sscanf und es wird einfach nicht funktionieren:
#define PARAM_NR 10
Timer tt;
int i=0;
int index=0;
bool stringComplete=false;
char recString[MAX_LEN];
char buf[20];
int commands[PARAM_NR];
void serialEv()
{
char aux;
char *token;
int i=0;
while(Serial.available())
{
aux=Serial.read();
if(i!='\n')
{
recString[i++]=aux;
recString[i]='\0';
}
if(aux=='\n');
{
token=strtok(recString,",");
while(token!=NULL)
{
token=strtok(NULL,",");
sscanf(token,"%d",&commands[index]);
Serial.println(commands[index]);
index++;
if(index==PARAM_NR)
index=0;
break;
}
}
}
}
Beispiel:
Input:
1,1,1
Output:
Es scheint, es druckt nur 1 auf der ersten Position und 0 auf den anderen. Wenn ich versuche, einen anderen Eingang
ex: Eingang 1:
1,1,1
Eingang 2
3,4,5
Ausgang:
1
0
0
0
0
0
'i! = '\ N'' das sieht nicht richtig aus. –