chen3bing 发表于 2011-12-28 18:26:29

nrf24l01发送和接收地址的问题

我现在搞NRF24L01,从网上下载的程序。

用两个板子,一发一收。先在收的上面测试,

先初始化,写缓存,写寄存器。然后,读缓存,

读寄存器,显示在液晶上,都没问题。

然后,一发一收,却收不到。

我有一个问题,就是接收和发送地址的问题。

例子里code ucharTX_ADDRESS= {0x34,0x43,0x10,0x10,0x01};本机地址

code ucharRX_ADDRESS= {0x34,0x43,0x10,0x10,0x01}; 接收地址

我看了一下,有一条初始化语句:

SPI_RW_Reg(WRITE_REG + EN_RXADDR, 0x01);

允许接受地址只有频道0。

于是,我改了一下,

code ucharTX_ADDRESS= {0x34,0x43,0x10,0x10,0x00};

code ucharRX_ADDRESS= {0x34,0x43,0x10,0x10,0x00};

还是不行。

改成code ucharTX_ADDRESS= {0x34,0x43,0x10,0x10,0x01};

code ucharRX_ADDRESS= {0x34,0x43,0x10,0x10,0x00};

仍然不行。

接收和发送地址究竟应该怎么设置?

发送程序和接收程序这两个地址应该设置成一样还是不一样?

请高手指教,谢谢!

chen3bing 发表于 2011-12-28 20:35:01

补充一下,发送和接收程序还有一点不同,发送设为发送模式,接收设为接收模式。

ZZqng 发表于 2011-12-28 23:35:44

回复【楼主位】chen3bing
-----------------------------------------------------------------------

单向通讯发送方的发送地址和接收方接收地址配成一样的就Ok,发送方的通道0的地址配成和发送地址一样才可接收到应答信号。

chen3bing 发表于 2011-12-29 09:28:30

没人知道吗?

BloathX 发表于 2011-12-29 09:38:23

http://cache.amobbs.com/bbs_upload782111/files_49/ourdev_708614EH4BHH.jpg
中文数据手册上的关于地址设置 (原文件名:未命名.jpg)

chen3bing 发表于 2011-12-29 13:02:02

谢谢!我试试。

myqiang1990 发表于 2011-12-29 13:22:54

http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=5299938&bbs_page_no=1&search_mode=4&search_text=myqiang1990&bbs_id=9999

楼主,你认真看这个帖子,我回复的部分。。。

chen3bing 发表于 2011-12-29 15:53:04

多谢楼上。我看了一下,有点明白。
不过,还有一个问题,附件里有个图,
接收端只有接收地址,没写本机地址。
请问接收端还有设置本机地址吗?如何设置?
http://cache.amobbs.com/bbs_upload782111/files_49/ourdev_708731I11341.JPG
(原文件名:2.JPG)

chen3bing 发表于 2011-12-29 16:10:50

现在发送端接收到应答信号了,可接收端还是没有收到数据。

BloathX 发表于 2011-12-29 16:15:22

回复【8楼】chen3bing
现在发送端接收到应答信号了,可接收端还是没有收到数据。
-----------------------------------------------------------------------

都收到应答信号了

是你读接收FIFO的程序有问题吧

chen3bing 发表于 2011-12-30 08:24:12

我又看了一下手册,接收方式时CE=1.
是不是unsigned char nRF24L01_RxPacket(unsigned char* rx_buf)
程序里CE应该置位为1?可是置位了以后还是收不到。

BloathX 发表于 2011-12-30 08:39:49

http://cache.amobbs.com/bbs_upload782111/files_49/ourdev_708915VA2CW4.png
(原文件名:CE引脚作用.png)

http://cache.amobbs.com/bbs_upload782111/files_49/ourdev_708916VLX3M3.png
(原文件名:状态寄存器.png)

收到应答信号应该是收到了,你读状态寄存器,应该有接收位置位以及通道口的数据
如果有,确定是收到了,读取接收FIFO的值就行了

chen3bing 发表于 2011-12-30 09:58:24

现在可以收到数据,只是接收端要接上下载线才可以,搞不懂。

chen3bing 发表于 2011-12-30 10:54:30

可以接收数据一小会,又不行了。发现IRQ不能拉低。

myqiang1990 发表于 2012-1-3 13:56:14

回复【13楼】chen3bing
-----------------------------------------------------------------------

接收完后清空FIFO寄存器了吗???记得。。读完FIFO寄存器后。。要用清空FIFO寄存器指令,清空一次FIFO。。。

liber730 发表于 2012-4-20 15:35:53

长进了,正在做这个

辉Se天空 发表于 2012-11-15 13:31:39

这个要顶,不错啊

wangqiangeek 发表于 2013-4-20 10:22:55

地址如0x34是怎么得到的?
页: [1]
查看完整版本: nrf24l01发送和接收地址的问题