this is my first question in this forum.
I need to receive a string from the Arduino serial monitor and display it when the communication is over. I have a similar problem like the one discussed in this thread:
Only I'm using the Arduino serial monitor instead of a RaspberryPi to send strings so I can't program the sender to attach an identifier like '\n' at the end of the string.
char inData[20];
char inChar=-1;
byte index = 0;
while (Serial.available() > 0){
ending[1]=ending[1]+1;
if(index < 19){
inChar = Serial.read();
inData[index] = inChar;
index++;
inData[index] = '\0';
Serial.flush();
}
Serial.print(inData);Serial.print("\t");Serial.println();
}
What I receive in the console looks like this:
M
Me
Mes
Mess
Messa
Messag
Message
I need to display only the final string
Message
The code has to know when the incoming string ended and then display it once.
I'd really appreciate any help I can get.
\n
is a common choice, but you can choose whatever you are not going to use in the message itself. The other option is to have a timeout: if no further characters have been received for XXX ms, then assume the message is complete. – Edgar Bonet Nov 6 '16 at 17:42