I designed an application where a nrf24L01 is driven by an arm7.
no problem for configuration of the module and transmit data, but i can’t receive anything (ACK or data)
i verified the emitter by sending data to a nordic module which receive it : but i don’t receive ACK
transmitter and receiver configuration are exactly the same :
RQDIOConfigure(); //config = 0x09
RADIODisable(); // CE LOW
RADIOCloseAllPipe(); // First close all radio pipes
// Pipe 0 and 1 open by default
RADIOCRC16Set(); // Operates in 16bits CRC mode
RADIOAutoRetransmitConfigure();
RADIOAddressWidthSet();
RADIOTXADDRSet (address);
RADIOP0ADDRSet (address);
RADIOP1ADDRSet (address2);
RADIOP0Enable();
RADIOP1Enable();
RADIOPXAASet();//enable aa for pipe 0 and 1
if( mode == TXMODE) // Mode depentant settings
{
RADIODriverTXMode();
}
else
{
RADIODriverRXMode();
RADIODriverPayloadWidthSet( PAYLOAD_LENGTH);
}
RADIODriverChannelSet(RF_CHANNEL);
RADIODriverPWRUPSet(); // pwr up bit and wait 5ms
for emitter sofware i use :
while (1)
{
wait(500);//500ms
RADIOStatusClear();
RADIOPayloadWrite(message);
RADIOCEPulse(); // generate a >10us pulse
}
for receiver software i use :
while(1)
{
RADIOEnable(); // CE HIGH
// read status regsiter and compare RX_DR
do{
RADIODriverRegisterRead(R_STATUS, &data, 1);
}
while( (data & 0x40)==0);
}
= data always equal to 0x0E
Any idea ?