nRF24L01 Interrupt using ISR

Hi,

I used the tutorial examples from diyembedded.com.

i am using LPC21xx processor for my project. it is interfaced with nRF24L01 based on Pin out connections given in tutorials

It is working fine.

Special Thanks to Brennen.

I tried to modify the code using ISR for Interrupt instead of Polling as it consumes more of the battery power .

But i could not see the microcontroller control (RX and Tx) to move inside the ISR.

I refrain myself from posting the code as it takes lot of space.

If anybody requires source code i am ready to give it.

Let me brief the pseudocode for the same.

void main()

{

while(1)

{

nrf24l01_write_tx_payload(…); //transmit received char over RF

if (Tx_Interrupt_Enable)

{

/* Blink LED indication of Transmssion */

}

if(Rx_Interrupt_Enable)

{

/* Read the payload */

}

}

void nRF24L01ISR (void) __ISR /* ISR routine for nRF24L01. Whenever

interrupt occurs in nRF24L01 controls should comes here */

{

/* Check for type of interrupt */

if (nrf24l01_irq_tx_ds_active() ) /* transmitter Interrupt */

{

Tx_Interrupt_Enable = 1;

}

if (nrf24l01_irq_rx_dr_active() ) /* Receiving interrupt */

{

Rx_Interrupt_Enable =1;

}

}

I would like to know whether ISR is possible as compared to polling method.

Hi all,

Finally I solved the problem of Interrupt in LPC2148 processor.

ISR is working fine .

I initialised the interrupt as Active high Edge triggering instead of Active low.

The idea is to make the pin P0.15 as Active low edge triggering interrupt as the Interrupt from nRF24L01 is active low.

I followed the pin connection details from www.diyembedded.com (thanks brennen)