I have a big problem with the data that returns me the arduino
I'm trying to process data from the serial connection, but I returned the arduino does not make sense.
parameter that happened is this: kitchen Notre-id03-onn-74
the expected result is this:
vpar[0] cocina
vpar[1] tre
vpar[2] id03
vpar[3] onn
vpar[4] 74
but I get is this:
vpar[0] cocina
vpar[1]
vpar[2]
vpar[3]
vpar[4] id03onn
this is my code
int p = 0;
String Parametro[19];
String vpar[5];
int leo = 0;
void setup()
{
Serial.begin(9600);
}
void loop()
{
if (Serial.available() > 0) //si hay coneccion
{
// lee el byte entrante:
leo = ((char)Serial.read());
if (leo==-1)
{
//no hay datos en la coneccion
}
else
{
if (-1 != leo)
{
if(p<19)
{
if(leo==46)
{
Parametro[p] = ".";
p++;
}
if(leo==45)
{
Parametro[p] = "-";
p++;
}
if(leo==48)
{
Parametro[p] = "0";
p++;
}
if(leo==49)
{
Parametro[p] = "1";
p++;
}
if(leo==50)
{
Parametro[p] = "2";
p++;
}
if(leo==51)
{
Parametro[p] = "3";
p++;
}
if(leo==52)
{
Parametro[p] = "4";
p++;
}
if(leo==53)
{
Parametro[p] = "5";
p++;
}
if(leo==54)
{
Parametro[p] = "6";
p++;
}
if(leo==55)
{
Parametro[p] = "7";
p++;
}
if(leo==56)
{
Parametro[p] = "8";
p++;
}
if(leo==57)
{
Parametro[p] = "9";
p++;
}
if(leo==97)
{
Parametro[p] = "A";
p++;
}
if(leo==98)
{
Parametro[p] = "B";
p++;
}
if(leo==99)
{
Parametro[p] = "C";
p++;
}
if(leo==100)
{
Parametro[p] = "D";
p++;
}
if(leo==101)
{
Parametro[p] = "E";
p++;
}
if(leo==102)
{
Parametro[p] = "F";
p++;
}
if(leo==103)
{
Parametro[p] = "G";
p++;
}
if(leo==104)
{
Parametro[p] = "H";
p++;
}
if(leo==105)
{
Parametro[p] = "I";
p++;
}
if(leo==106)
{
Parametro[p] = "J";
p++;
}
if(leo==107)
{
Parametro[p] = "K";
p++;
}
if(leo==108)
{
Parametro[p] = "L";
p++;
}
if(leo==109)
{
Parametro[p] = "M";
p++;
}
if(leo==110)
{
Parametro[p] = "N";
p++;
}
if(leo==111)
{
Parametro[p] = "O";
p++;
}
if(leo==112)
{
Parametro[p] = "P";
p++;
}
if(leo==113)
{
Parametro[p] = "Q";
p++;
}
if(leo==114)
{
Parametro[p] = "R";
p++;
}
if(leo==115)
{
Parametro[p] = "S";
p++;
}
if(leo==116)
{
Parametro[p] = "T";
p++;
}
if(leo==117)
{
Parametro[p] = "U";
p++;
}
if(leo==118)
{
Parametro[p] = "V";
p++;
}
if(leo==119)
{
Parametro[p] = "W";
p++;
}
if(leo==120)
{
Parametro[p] = "X";
p++;
}
if(leo==121)
{
Parametro[p] = "Y";
p++;
}
if(leo==122)
{
Parametro[p] = "Z";
p++;
}
}
if(p==19)
{
for(int l=0;l<19;l++)
{
Serial.println(Parametro[l]);
}
int h=0;
for(int i=0;i<19;i++)
{
if(Parametro[i]=="-")
{
if(h==0)
{
h=1;
i++;
}
if(h==1)
{
h=2;
i++;
}
if(h==2)
{
h=3;
i++;
}
if(h==3)
{
h=4;
i++;
}
if(h==4)
{
i++;
}
}
vpar[h] = vpar[h] + Parametro[i];
}
Serial.println(vpar[0]);
Serial.println(vpar[1]);
Serial.println(vpar[2]);
Serial.println(vpar[3]);
Serial.println(vpar[4]);
Serial.flush();
p=0;
h=0;
}
}
}
}
}