Send command for RC Car

on the sender i have this:

void setup(){
  
  Serial.begin(9600);
}


void loop() {
 //val="<Hello Arduino!>";
    Serial.write ("<Arduino!>"); //sends an "On" message
 
delay(1000);
  
}

and on the receiver i have this:

#define SOP '<'
#define EOP '>'

bool started = false;
bool ended = false;

char inData[80];
byte index;

void setup()
{
   Serial.begin(9600);
   // Other stuff...
}

void loop()
{
  // Read all serial data available, as fast as possible
  while(Serial.available() > 0)
  {
    char inChar = Serial.read();
    if(inChar == SOP)
    {
       index = 0;
       inData[index] = '\0';
       started = true;
       ended = false;
    }
    else if(inChar == EOP)
    {
       ended = true;

       break;
    }
    else
    {
      if(index < 79)
      {
        inData[index] = inChar;
        index++;
        inData[index] = '\0';
      }
    }
  }

  // We are here either because all pending serial
  // data has been read OR because an end of
  // packet marker arrived. Which is it?
  if(started && ended)
  {
    // The end of packet marker arrived. Process the packet
char ltr = inData[0];
inData[0] = '0';
int val = atoi(inData);
Serial.println(val);
    // Reset for the next packet
    started = false;
    ended = false;
    index = 0;
    inData[index] = '\0';
  }
}

But nothing appear in serial monitor of receiver, where is my mistake?my xbee comunication is Ok, i have tested with a last program and data is sending and receive is ok