This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nRF24L01+ IRQ stays low after first call

Hi i'm very frustated with myself not the modules , i could make a pair of them to work perfectly in a pic 16F886 , now due to other project i have to use a dspic33fj64mc202 and i already moved the nRF24L01+ library to the dspic , i first test in the dspic the interruption on falling edge it worked fine , then i tried the spi module and worked fine as well , when i tried the whole program just to turn on a led when the interrupt rutine triggers , it doesn't work as i espected , i send something with my working transceiver as a tx , and receive in the dspic , the irq pin changes from high to low and stays forever low , this doesn't allow the interrupt rutine to trigger , and i can't find the problem , please if you could give me some help it would be awesome, thank you very much .

  • Before when the dspic still didn't work the interrupt polarity was set to trigger from low to high, that's why It wasn't working due to the irq pin in the nrf24l01+ is active low, it means the microcontroller interrupt edge polarity has to be set from high to low and not the other way around, now as it should be, the irq pin in the nrf24l01+ always is high, when the interrupt triggers the line switches to low and that behavior fires the dspic interrupt due to the change is from high to low as it was set, hope you could understand, & thanks a lot for your help.

  • Thanks Maxi for the explanation. I assume that when we set the polarity on the dspic on low to high, it actually connect the pin to a pull down register strong enough that the nRF24L01 couldn't pull the pin up after it's set low.

Related