推荐一个nRF24L01的Library【Arduino, Energia 通用,测试了基本收发】
最近被nRF24L01折腾的挺不爽的,一个很偶然的机会,破罐子破摔,将原本给Energia的Enrf24库搬到了arduino的文件夹里。结果example(Enrf24_RXdemo)编译顺利,下载后运行正常。算是撞上了大运吧。不敢独享,发到坛子里。Enrf24 (https://github.com/spirilis/Enrf24) 本是在 43OH(msp430论坛)上找到的。最开始接触这个库,用的是TI 的 CCS5.3做开发,C语言版本的库叫做msprf24(https://github.com/spirilis/msprf24)。因为设置其对msp430系列支持比较好,提供了中断,以及USCI,USI两种模块下的SPI功能支持,在msp430系列中用起来很方便。
后来因为对USB to RF 比较感兴趣,入手了China Copy 的 SparkFun Pro Micro(atmega32u4, Sparkun修改后的bootloader)。一直想用pro micro + RF 代替 ft232(pl2303)+MCU+RF的模式,又懒得去学习AVR的C语言编程。于是有了下面的尝试
尝试了三个库,想让arduino(m32u4)与 Energia(msp430g2553)能够建立无线通讯:
Mirf (来自arduino.cc的推荐)
问题是查看了源文件,没有发现设置data rate, CRC, TX_Power, channel, Auto_ACK的方法。可能也是因为Mirf的简单,被Arduino.cc作为首选的库。
因为上面这些设置直接影响了nrf24l01的通讯(与energia),排列组合一下,可能的设置组合太多了,很难调试通过。
RF24(同样来自arduino.cc,但在Mirf的下面,字体小了不少)
查看了源文件,发现其编写风格明显与Mirf不同,添加了很详尽的注释,而且在nrf24l01的管道(Pipe)方面有所侧重。查看作者的git(https://github.com/maniacbug/)发现,他还有一个用于nrf24l01组网的小项目。想必日后用nrf24L01做传感器网络时会用得着。把源码全部看一遍,然后再消化,一定很痛苦……
所以就尝试了一下把Enrf24硬搬到arduino里面。
pro micro 加载RXdemo, Energia 加载TXdemo. 修改RXdemo中相应的针脚设置(ce csn irq)以及LED pin (pro micro 板载一个, pin17).……编译……下载……然后两块板子就开始一闪一闪的对话了。如果按住energia上面的“reset”,让energia处于复位状态,pro micro就停止了响应。松开,通讯恢复。
先交待这么多,如果后面使用中有什么问题,再和大家分享。{:soso_e160:}
本帖最后由 geraintmoore 于 2014-2-7 14:10 编辑
链接汇总:
Enrf24 和 msprf24的作者git:
https://github.com/spirilis
RF24和RF24Network的作者git:
https://github.com/maniacbug
Mirf就不写了,arduino.cc上面直接下载。
SparkFun pro micro
https://www.sparkfun.com/products/retired/10998
支持文件(bootloader,pin_define, windows driver)的git:
https://github.com/sparkfun/SF32u4_boards
:):):):) NB牛人 MARK 一下 正在研究nRF24L01,谢谢提供!! 老是提示Mirf was not declared in this scope 。怎么破,已经导入了Mirf 库函数 oujz123 发表于 2015-8-1 10:32 static/image/common/back.gif
老是提示Mirf was not declared in this scope 。怎么破,已经导入了Mirf 库函数
mirf.h和mirf.cpp两个都添加了么? 楼主请问管脚如何定义,求源码 24l01不好用,距离近 厉害,用RF24几天调不通,用这个库瞬间完成 请问这个的连线是怎样的呢 小白菜嗯呐 发表于 2019-7-22 18:57
请问这个的连线是怎样的呢
Arduino uno --- nRF24L01
3.3V --- VCC:模块供电引脚
GND --- GND:模块接地引脚
D7 --- CSN:接收端选择引脚
D8 --- CE:发射/接受状态选择引脚
D11 --- MOSI :控制端输出,接收端输入引脚
D13 --- SCK:时钟信号
D12 --- MISO:控制端输入,接收端输出引脚
页:
[1]