Using NRF24L01+ with pure assembler programing

Dear people

I have connected NRF24!01+ with PIC16F1826 for use as PRX and have also another similar for PRX

For an initial test I tryed to trasmit a closed / open switch state to a LED and as ussually hapens it does not work

Also I have a Tx packets each 200ms with one Data byte incremented in each Tx
I get SPI write an read ok but at PRX have not getting any received packet

There is the same program for PTX an PRX with  #define    PRX  o rnot at compiling so most of defined values are the same

What I get reading with SPI : in PRX , Reg 0x17 FIFO_STATUS  bit4 TX_EMPTY:
 is 1 before loading data
0 after loading payload   (4 bytes)
1 after CE goes H

At PRX side  not IRQ arises , not changes in Reg 07 bit RX_DR

I only use assembler programming and I didn´t found in the web any complete and working assembler example.

--> I am asking please the simplest example with a detailed list of commands to send for configuring and useing TPX
and PRX, similar at Appendix B, pag 77 in NRF24L01+ data sheet.

*** But please include the waiting delays and other instructions that may be  needed ***

For some address, default values may be used in a first test ? ( only 1 Pipe )

Is it posible not  using CRC ?

I need to have something working before going to a complete use of full NRF24L01+ capabilities

Finally I will insert well tested software in bigger assembler programs

I like to  replace a RS485 conexion with this RF link

I will1452.Control_NRF.rar send the assembler that I am testing if somebody like to see it, but RF part is not working

Waiting some help, Best Regards, Osvaldo Hojvat

Parents
  • Thank you for the reply.    I just saw it

    I have corrected an error in FEATURE, in the bit  position for dynamic payload enable.

    Now I get the same Rx Data in PRX as the Tx Data in PTX

    By the moment I like to not using ack

    I found necessary two actions for my tests works:

    *** Clear reg1 (auto ack) at the initial settings

    *** Clear STATUS RX_RD after a received payload for have reseted the IRQ out ( I use poling)

    I finally understand that this byte is cleared writing a 1, but the level becomes1 when activated and low when cleared

    *** I guess than flux Rx/Tx  FIFOs is not necessary at the beguining

    I will inform when I may get trasmiting about 40 diferents packets  and receive the same with no error

    Distance is about 60cm

    Best Regards

Reply
  • Thank you for the reply.    I just saw it

    I have corrected an error in FEATURE, in the bit  position for dynamic payload enable.

    Now I get the same Rx Data in PRX as the Tx Data in PTX

    By the moment I like to not using ack

    I found necessary two actions for my tests works:

    *** Clear reg1 (auto ack) at the initial settings

    *** Clear STATUS RX_RD after a received payload for have reseted the IRQ out ( I use poling)

    I finally understand that this byte is cleared writing a 1, but the level becomes1 when activated and low when cleared

    *** I guess than flux Rx/Tx  FIFOs is not necessary at the beguining

    I will inform when I may get trasmiting about 40 diferents packets  and receive the same with no error

    Distance is about 60cm

    Best Regards

Children
No Data
Related