jinzhan0132的个人空间 https://bbs.21ic.com/?1039360 [收藏] [复制] [RSS]

日志

NRF24L01使用心得/进阶

已有 785 次阅读2015-1-22 14:20 |个人分类:无线模块|系统分类:单片机| 处理器, 单片机, 寄存器, 点对点, NRF24L01

关于NRF24L01模块的初始化配置代码,寄存器代码,底层驱动程序,网上一搜一大堆。这里主要记录下我自己使用过程中的收获。
        第一次使用这个模块是在学校的时候,那时候用stc51做处理器,模拟SPI通信,实现点对点的双向通信,然而通信的内容仅有1bit。当时想发多个数据,怎么也调试不成功。现在看来是因为对数组,对指针理解的不够深入。不过收获就是学会了SPI总线,知道了一个芯片一个模块该如何去使用。
        再次使用该模块是工作中,要求显然高了,对我来说。PIC单片机硬件SPI,虽然以前用过这个模块,但是调试还是用了近两周,完成了点对点通信,通信数据长度是最大的32bit(其实可以无限长,只是那部分代码我没有研究,产品也用不上那么多)。接下来完成了多机通信,就是1对多的通信。以上都是个人牢骚。
       这个文档要记录的就是多机通信时的地址分配情况(因为这个问题让我晕了好久):
       1、接收端(主机):
       a、配置多通道接收,多通道自动应答;
       b、地址分配:本机地址:TX_ADDR[5]
                              接收CH0地址:RX_ADDR0[5](和本机地址相同)
                              接收CH1地址:RX_ADDR1[5](首字节不同,注意在数组里面表示,是第一个元素不同,其他相同,说明                                                                                  书上说地址的最低字节不同,但是他是低字节在前,所以数组中首个元素                                                                                  不同。CH2/3/4/5均按这个标志分配地址)
       2、发送端(从机):
       a、本机地址:与接收端的某个接收通道的地址一致。
       b、接收地址:主机的“本机地址”。
       3、关于两个模式的切换:切换的时间间隔为50MS比较稳定,这个时间是在PIC18F65K90单片机测试的时间(多通道模式下)。

       总结:经过这次的使用,感觉这个模块的使用并不复杂,网上的资料也都是关于配置,关于该怎么调试的资料,调试通过后具体的应用的资料确实很少。这里把自己的收获写下来,以后忘了还能再看看,不过初次使用这个模块的,看这个文章应该帮助不大。MARK



路过

鸡蛋

鲜花

握手

雷人

全部作者的其他最新日志

评论 (0 个评论)