Xbee ID in Coordinator Arduino

A picture maybe, because your post is less than clear. For instance, Three Arduinos for each XBee means 9 Arduinos, which I doubt is what you have.

Thank you Mr. Paul for the reply. sorry i think that wasn't clear enough.. each XBee s2c module is built on an arduino.. so 3 xbees mounted on 3 arduinos. think its clear now one as a coordinator and two others are nodes

I can't imagine why you have some XBees in API mode and some in AT mode. They should all be in the same mode.

i need to know the address of the xbee(node Here) from which the information is coming from at the Coordinator arduino so keeping it in API gives me the frame data along with the address that I can see in a node Arduino serial monitor( means i am getting address of coordinator xbee at the serial monitor of receiver here but not the address of receiver xbee that gave me acknowledgement even when it is in api mode). but when I keep both of them in the API I could not get the acknowledgment in the coordinator which for instance is a "received"

The Arduinos are running some code which is missing from your post.

here is the code of what i am trying to run right now that I found on the forum and i took reference of Mr Andrew's library of Xbee api as well

coordinator side

[/quote]

#include <Printers.h>
#include <XBee.h>

XBee xbee = XBee();
uint8_t payload[]={"hi"};

ZBTxRequest zbTx = ZBTxRequest(0x13A20040F8D871, payload,sizeof(payload));
void setup() 
{
  SerialUSB.begin(9600);
  Serial1.begin(9600);
  xbee.setSerial(Serial1);
  delay(1000);

} 

void loop() 
{ 

    xbee.send(zbTx);
   if (Serial1.available()){
    SerialUSB.print(char(Serial1.read()));
   }
    
  
   

  delay(500);

Receiver Side

#include <Printers.h>
#include <XBee.h>


XBee xbee = XBee();



XBeeResponse response = XBeeResponse();
ZBRxResponse rx = ZBRxResponse();


void setup() {
 SerialUSB.begin(9600);
 Serial1.begin(9600);
 xbee.setSerial(Serial1);
 delay(2000);
}

void loop()
{
 xbee.readPacket();
 if (xbee.getResponse().isAvailable())
 {

   xbee.getResponse().getZBRxResponse(rx);
   SerialUSB.print("Got an rx packet from: ");
   XBeeAddress64 senderLongAddress = rx.getRemoteAddress64();

   print32Bits(senderLongAddress.getMsb());
   SerialUSB.print(" ");
   print32Bits(senderLongAddress.getLsb());
   uint16_t senderShortAddress = rx.getRemoteAddress16();
   SerialUSB.print(" (");
   print16Bits(senderShortAddress);
   SerialUSB.println(")");
   SerialUSB.println("Received Data: ");
   for (int i = 0; i < rx.getDataLength(); i++)
   {
     print8Bits(rx.getData()[i]);
     SerialUSB.print(' ');
     Serial1.write("Received to Node 1");
   }

 }
 

}
void print32Bits(uint32_t dw)
{
 print16Bits(dw >> 16);
 print16Bits(dw & 0xFFFF);
}

void print16Bits(uint16_t w)
{
 print8Bits(w >> 8);
 print8Bits(w & 0x00FF);
}
void print8Bits(byte c)
{
 uint8_t k = (c >> 4);
 if (k <= 9)
   SerialUSB.write(k + 0x30);
 else
   SerialUSB.write(k + 0x37);

 k = (uint8_t) (c & 0x0F);
 if (k <= 9)
   SerialUSB.write(k + 0x30);
 else
   SerialUSB.write(k + 0x37);
}