Wire Interruption - I²C

Hi,
I’m doing one library to use the arduino as a slave, and the NXT as master.
But, doesen’t matter what i do, if i send one request from the NXT or send only data, the interruption always goes to onReceive Handle.
I wan’t to be able to respond with data and read data from i²c master, but enter in receive always, never request…
I want to respond with data, and read data according to the request.

Look at my code:

#include <Wire.h>

void setup()
{
  Wire.begin(5);
  Wire.onRequest(requestEvent);
  Wire.onReceive(receiveEvent);

  Serial.begin(115200);
}

void loop()
{
  delay(100);
}

void receiveEvent(int howMany)
{
  int A=0,B=0;
  Serial.print("REQUEST - "); 
  Serial.print(howMany); 
  Serial.println(" - ");
  while(1<Wire.available())
  {
    A = Wire.receive();
  }
  B = Wire.receive();
  Serial.print("*A: ");
  Serial.println(A);
  Serial.print("*B: ");
  Serial.println(B);
}

//NEVER enter here, only on receiveEvent
void requestEvent()
{
  int A=0,B=0;
  Serial.print("RECEIVE - "); 
  while(1<Wire.available())
  {
    A = Wire.receive();
  }
  B = Wire.receive();
  Serial.print("*A: ");
  Serial.println(A);
  Serial.print("*B: ");
  Serial.println(B);
}

Sounds like the problem may be on the master not the slave then, do you have another Arduino that you could set up as a master first to rule out the slave? Also why are you trying to receive data in requestEvent?

Request event also sent a register, that should be read by slave and sent back to master. That register is the data... Is there a better way to do that? I'm very confused with this communication, with PIC i did and everything went good, but i didn't succeded now... I will try to see the master code, might be the problem. My others 4 arduino nanos didn't arrived yet, so i can't debug with them. Thanks, Ivan