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

unable to receive data on nRF24L01+

Trying to interface this module with atmel core micro. We are able to transmit data by this module but not receiving the data at other end. At transmitting side we are getting IRQ interrupt on completion of tx. But not getting IRQ interrupt on rx side.

code is listed below pl help..............................

initialise_rf_module:

;2 byte CRC, POWER UP, PTX
	clr	CSN_PORT
	mov	a,#COMMAND_W_REG	  ;Prepare command by adding its address
	mov	b,#CONFIG		         ;CONFIG
	orl	a,b
	acall	send_spidata

	mov	a,#00Fh			;	CRC-ENABLE, CRC-02 BYTE, POWER UP,RX MODE
					
	acall	send_spidata		

;Disable all pipes auto ack
	mov	a,#COMMAND_W_REG	;Prepare command by adding its address
	mov	b,#EN_AA
	orl	a,b
	acall	send_spidata		
					
	mov	a,#000h			;0000 0000
	acall	send_spidata	

;Enable data pipe 0
	mov	a,#COMMAND_W_REG	;Prepare command by adding its address
	mov	b,#EN_RXADDR
	orl	a,b
	acall	send_spidata

	mov	a,#001h			;0000 0001
	acall	send_spidata		

;5 byte address
	mov	a,#COMMAND_W_REG	;Prepare command by adding its address
	mov	b,#SETUP_AW
	orl	a,b
	acall	send_spidata

	mov	a,#003h			;0000 0011
	acall	send_spidata

;Retransmit disabled
	mov	a,#COMMAND_W_REG	;Prepare command by adding its address
	mov	b,#SETUP_RETR
	orl	a,b
	acall	send_spidata

	mov	a,#000h			;0000 0000
	acall	send_spidata		

;Randomly chosen RF channel
	mov	a,#COMMAND_W_REG	;Prepare command by adding its address
	mov	b,#RF_CH
	orl	a,b
	acall	send_spidata

	mov	a,#02h			
	acall	send_spidata		

;1 mbps, 0dBm
	mov	a,#COMMAND_W_REG	;Prepare command by adding its address
	mov	b,#RF_SETUP
	orl	a,b
	acall	send_spidata

	mov	a,#006h			
	acall	send_spidata		

;RX payload = 1 byte
	mov	a,#COMMAND_W_REG	;Prepare command by adding its address
	mov	b,#RX_PW_P0
	orl	a,b
	acall	send_spidata

	mov	a,#RX_PAYLOAD		;It is constant defined above		
	acall	send_spidata		;send value

;Write in RX_ADDR_P0 five adress RXTX_ADDRESS_1,RXTX_ADDRESS_2,RXTX_ADDRESS_3,RXTX_ADDRESS_4,RXTX_ADDRESS_5
	mov	a,#COMMAND_W_REG	;Prepare command by adding its address
	mov	b,#RX_ADDR_P0
	orl	a,b
	acall	send_spidata

	mov	a,#RXTX_ADDRESS_1		
	acall	send_spidata

	mov	a,#RXTX_ADDRESS_2
	acall	send_spidata

	mov	a,#RXTX_ADDRESS_3
	acall	send_spidata

	mov	a,#RXTX_ADDRESS_4
	acall	send_spidata

	mov	a,#RXTX_ADDRESS_5
	acall	send_spidata

	mov	a,#COMMAND_W_REG	;Prepare command by adding its address
	mov	b,#TX_ADDR
	orl	a,b
	acall	send_spidata

	mov	a,#RXTX_ADDRESS_1		
	acall	send_spidata

	mov	a,#RXTX_ADDRESS_2
	acall	send_spidata

	mov	a,#RXTX_ADDRESS_3
	acall	send_spidata

	mov	a,#RXTX_ADDRESS_4
	acall	send_spidata

	mov	a,#RXTX_ADDRESS_5
	acall	send_spidata

	setb	CSN_PORT	
	ret
Related