el flush no esta trabajando en arduino mega 2560

buenas, el caso es que ejecuto el proceso(enviar un dato desde vb.net a arduino mega 2560) la primera vez funciona muy bien pero el segundo dato me muestra solo parte
ejemplo:
primera vez envio 17864443322 y me regresa 17864443322 (perfecto)
segunda vez envio 13058887766 y me regresa 7766 o 1 o 1305.
cuando desconecto el puerto usb y lo conecto de nuevo funciona bien la primera vez

aqui el codigo arduino

#include <string.h>
char inData[11]; // Allocate some space for the string
char inChar; // Where to store the character read
byte index = 0; // Index into array; where to store the character
int command=0;

void setup()
{
Serial.begin(9600);
Serial1.begin(9600); // for GSM module communication
}

void loop()
{
// if we get a valid byte, read analog ins:
if (Serial.available()>0)
{

command = Serial.read();
if (command == ‘>’)
{
Serial.print(inData);
command=0;
Serial.flush();
}
inData[index] = command; // Store it
index++; // Increment where to write next
inData[index] = ‘\0’; // Null terminate the string

}

}

codigo VB.NET

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
If Not SerialPort1.IsOpen Then
SerialPort1.Open()
End If
System.Threading.Thread.CurrentThread.Sleep(2000)
Dim Unico As String
Dim largo, x As Integer
largo = TextBox2.Text.Length
For x = 1 To largo
Unico = Mid(TextBox2.Text, x, 1)
If x = largo Then
Unico = Unico & “>”
End If
SerialPort1.Write(Unico)
Next
End Sub

parece algo de buffer
alguien puede ayudarme
gracias

Hola, no creo que sea el flush, si no la forma de leer el puerto serie: cuando recibes (command == '>') tendrías que cerrar la cadena con el carácter nulo, hacer Serial.print y poner index = 0; en caso contrario, seguir añadiendo caracteres leídos a inData.

setup()
{
    index = 0;
}


void loop()
{

   // if we get a valid byte, read analog ins:
   if (Serial.available()>0)
   { 
      command = Serial.read();
       if (command == '>')
       { 
           inData[index] = '\0'; // Null terminate the string
           Serial.print(inData);
            command=0;
            index = 0;
           // Serial.flush();
        }
        else
        {
           inData[index] = command; // Store it
           index++; // Increment where to write next
         }
           
   }

}

Gracias curro92, tu tiene razon, funciono, pero tengo esto y no se envian los mensajes, podrias ayudarme un poco,
mira el codigo arduino (placa arduino mega 2560, modem sm5100b-d

int serIn; // var that will hold the bytes-in read from the serialBuffer
char serInString[11]; // array that will hold the different bytes 100=100characters;
int serInIndx = 0; // index of serInString in which to insert the next incoming byte
int serOutIndx = 0; // index of the outgoing serInString array;
char tele;

void setup() {
Serial.begin(9600);
Serial1.begin(9600); //GSM
delay(2000);
}

void loop () {
readSerialString();
Serial.println ("doing somenthing ");

printSerialString();
delay(2000);

}

void readSerialString () {
int sb;
if(Serial.available()) {
while (Serial.available()){
sb = Serial.read();
serInString[serInIndx] = sb;
serInIndx++;
}
}
}

void printSerialString() {
if( serInIndx > 0) {
if(Serial1.available()) {
Serial.print("telefono: ");
for(serOutIndx=0; serOutIndx < serInIndx; serOutIndx++) {
tele=serInString[serOutIndx];
Serial.print(tele);
}
el nro.telefono que se envia es 17864443322

serInString[serOutIndx] = ‘\0’;
Serial.print("tele2: ");
Serial.print(serInString);
lo que imprime es 17864443322
Serial1.println(“AT+CMGF=1”); // set SMS mode to text
Serial1.print(“AT+CMGS=”);
Serial1.print(34,BYTE); // ASCII equivalent of "
Serial1.print(serInString);
Serial1.println(34,BYTE); // ASCII equivalent of "
delay(500); // give the module some thinking time
Serial1.print(“You get New Jobbbb”);
Serial1.println(26,BYTE); // ASCII equivalent of Ctrl-Z
delay(10000); // the SMS module needs time to return to OK status
Serial.println(“Msg enviado”);

}

serOutIndx = 0;
serInIndx = 0;
Serial.println();
}

}

agradezco por tu colaboracion