Hello
I'm very new to Arduino and have encountered my first issue which I haven't been able to solve in 2 days. I'm seriously starting to get frustrated. Hopefully one of you guys could point out where I'm going wrong.
Im making two char arrays: char inputx[3] and char inputy[3]. I get their values from serial.read. After getting the values, printing inputx prints the value AND the serial chars that came after it, and inputy prints out normally.
Here is the code:
char inputx[3];
char inputy[3];
void setup()
{
Serial.begin(9600);
}
void loop()
{
while(Serial.read() != '!')
{
}
while (Serial.available() < 6)
{
}
for (int x=0; x < 3; x++)
{
inputx[x] = Serial.read();
}
for (int y=0; y < 3; y++)
{
inputy[y] = Serial.read();
}
Serial.println(inputx);
Serial.println(inputy);
}
For example, I send "!123456" through arduino software to my arduino mega, the arduino returns:
123456 //this is the inputx value incorrectly printed
456 //this is the inputy value correctly printed
This is just weird! :o Sometimes it even adds some freaky letters after the inputx print, and after the inputy print too.
Regards
Henry
Edit:
Couple of example outputs, two show how random they are (both times I sent !123456 to arduino ):
1st time gives lines:
123456N
456V
Then reset and new try gives:
123456H
456O
Then I tried sending the same line !123456 many times, without resetting in middle. Here is what I got.
123456¢
//1st two
456©
123456§& //2nd
456®&
123456ÝD //3rd
456äD
123456AQ //4th
456HQ
123456ýc //5th
456
d
Im obviously doing something silly. ;D