Вот у меня на стороне приемника, может поможет.
На тайминги после включения и смены режима (power up) обрати внимание.
#pragma vector=INT0_vect
__interrupt void INT0_interrupt( void )
{
nrf24l01p_read_rx_payload((unsigned char *)command);
for ( char i=0; i < SERVO_QUANTITY; i++)
{
servo_SetPosition( i, command[i] );
}
nrf24l01p_clear_irq_flag(NRF24L01P_IRQ_RX_DR);
}
int main( void )
{
nrf24l01p_spi_init();
servo_Init();
nrf24l01p_ce_off();
__delay_cycles((unsigned long int)(2500000 * CPU_FREQUENCY));
//RX
nrf24l01p_set_crc_mode(NRF24L01P_CRC_16BIT); // set CRC mode
nrf24l01p_set_power_mode(NRF24L01P_PWR_UP); //power up
__delay_cycles((unsigned long int)(1500 * CPU_FREQUENCY));
nrf24l01p_set_operation_mode(NRF24L01P_PRX); // set PRIM_RX on
nrf24l01p_open_pipe(NRF24L01P_ALL, false);
nrf24l01p_open_pipe(NRF24L01P_PIPE0,false); //open pipe0 and disable auto ack
nrf24l01p_set_address_width(NRF24L01P_AW_5BYTES); //set length address
nrf24l01p_set_address(NRF24L01P_PIPE0,"ABCDE");
nrf24l01p_set_rf_channel(120);
nrf24l01p_set_datarate(NRF24L01P_1MBPS);
nrf24l01p_set_lna_gain(NRF24L01P_LNA_HCURR);
nrf24l01p_set_rx_payload_width(NRF24L01P_PIPE0,CMD_LENGTH);
nrf24l01p_set_irq_mode(NRF24L01P_IRQ_RX_DR,true);
nrf24l01p_ce_on();
__delay_cycles((unsigned long int)(150 * CPU_FREQUENCY));
__enable_interrupt();
while(1)
{
;
}
}