This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

why the end device send the Date Request Frame crazily?

hi

   I have a simple test system based on zigbee networking.The system only has a coordinator and an end device,and the end device join the network formed by the coordinator.At first,when the end device join into the network,the end device will send the Heartbeat frame to the coordinator periodically.I want the coordinator does not acknowledge the  end device when receives the the Heartbeat frame sent by the end device.My purpose is to reduce the ZED power consumption because  the ZED sends a packet of data and after receiving the acknowledgement form the ZC,the ZED will send a Data Request Frame.

So i use the function zb_SendDataRequest()  in the end device to send the heartbeat frame  to the coordinator as follows.

zb_SendDataRequest(_NIB.nwkCoordAddress,
SENSOR_DATA_REP_CMD_ID,
rfmemtemp.len,
(uint8*)rfmemtemp.buf,
0,
AF_TX_OPTIONS_NONE,
0 );

Then I found that the ZED can no longer join the Zigbee networking .Using the Packet sniffer software to receive the data passed between ZC and ZED,I found the end device sent the Data Request Frame crazily.As shown in the following figure!

but when i use he function zb_SendDataRequest() to enable the response function as shown in the following code,the end device will join the network successfully.

zb_SendDataRequest(_NIB.nwkCoordAddress,
SENSOR_DATA_REP_CMD_ID,
rfmemtemp.len,
(uint8*)rfmemtemp.buf,
0,
AF_ACK_REQUEST,
0 );

what is wrong with my program?

thank you!