查看: 10687|回复: 10

[原创] 树莓派之RF24L01+

[复制链接]
  • TA的每日心情
    开心
    2013-10-31 08:31
  • 签到天数: 16 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    发表于 2013-7-11 08:38:27 | 显示全部楼层 |阅读模式
    分享到:
    原帖:http://www.elecbench.com/?p=1099

    给树莓派扩展RF24L01+是我想了蛮久的事情,今天终于实现了,总结、记录、分享。
    本文将讨论如下问题:
    1.wiringPi的基本使用
    1.1安装于更新
    1.2使用wiringPi的程序编译
    1.3使用wiringPi的程序执行
    1.4wiringPi中SPI相关函数wiringPiSPIDataRW的注意事项
    2.RF24L01+模块与RPi连接的接口问题
    2.1MOSI和MISO
    2.2CSN和CE
    2.3我使用的管脚连接
    1.wiringPi的基本使用
    1.1安装于更新
        下载与安装请参考wiringPi官方网站
        第一个简单的例子Blink
    1.2使用wiringPi的程序编译
        在编译程序时需要使用如下语句:
        gcc -o rfpi -Wall -I/usr/local/include -L/usr/local/lib main.c nRF_24L01.c nRF_spi.c -lwiringPi
    1.3使用wiringPi的程序执行
         before run your app,you should load the spi module into the kernel by command:

    gpio load spi
        且app需要使用root权限,所以,
        sudo ./rfpi
    1.4wiringPi中SPI相关函数wiringPiSPIDataRW的注意事项
        该函数的说明如下:
    /*
    * wiringPiSPIDataRW:
    *    Write and Read a block of data over the SPI bus.
    *    Note the data ia being read into the transmit buffer, so will
    *    overwrite it!
    *    This is also a full-duplex operation.
    *********************************************************************************
    */
        所以,对该函数的调用应该如下:
        wiringPiSPIDataRW(0,&aByte,1);
        ret = aByte;                                   //调用该函数后从SPI bus上读取到的数据已经存放在aByte中。
    2.RF24L01+模块与RPi连接的接口问题
    2.1MOSI和MISO
        SPI接口与UART口的描述不同,UART接口中TXD和RXD常常是针对该器件而言,所以两个器件使用UART连接时,A器件与B器件的TX和RX应该交叉连接;而SPI接口的描述是针对整个接口而言的 ,MOSI表示 master output slave input,在整个接口中一方为master,另一方为slave,所以两个器件的接口是直连的。
    2.2CSN和CE
        nRF24L01+有一个CSN还有一个CE。CSN是SPI Chip Select 应该接RPi的CE0或CE1,而CE是Chip Enable Activates RX or TX mode,该脚应该由另外一个独立的IO口来控制。
    2.3我使用的管脚连接nRF24L01+ pin name        RPi header pin num        wiringPi pin num
    CE        12        1
    CSN        24        10
    SCLK        23        14
    MOSI        19        12
    MISO        21        13
    IRQ        13        2
    VCC        17       
    GND        25       

    RPi和wiringPi的管脚详细信息参考这里。(请前往原帖,论坛不兼容我的opera浏览器,无法上传图片。)

    github上还有24L01+的相关库
    https://github.com/kehribar/nrf24L01_plus
    http://maniacbug.github.io/RF24/
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2012-11-23 16:50
  • 签到天数: 15 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    发表于 2013-7-11 11:22:24 | 显示全部楼层
    不错,要是再详细一点就更好了,
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2013-10-31 08:31
  • 签到天数: 16 天

    连续签到: 1 天

    [LV.4]偶尔看看III

     楼主| 发表于 2013-7-11 13:02:24 | 显示全部楼层
    ukonline2000 发表于 2013-7-11 11:22
    不错,要是再详细一点就更好了,

    我可是把折腾过程中遇到的关键问题都分享啦,搞个24L01的驱动放上去就可以跑了。

    暂时我还只到读取寄存器内容这一步。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2012-11-23 16:50
  • 签到天数: 15 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    发表于 2013-7-11 13:54:05 | 显示全部楼层
    gdmgb520 发表于 2013-7-11 13:02
    我可是把折腾过程中遇到的关键问题都分享啦,搞个24L01的驱动放上去就可以跑了。

    暂时我还只到读取寄存 ...

    不管怎么说,都感谢你的分享呀!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2020-9-28 10:10
  • 签到天数: 1018 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2013-7-12 08:57:57 | 显示全部楼层
    多谢楼主分享!!!继续期待~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2016-7-28 09:42
  • 签到天数: 292 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2013-7-12 21:39:16 | 显示全部楼层
    那无线模块我也用过
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2013-10-31 08:31
  • 签到天数: 16 天

    连续签到: 1 天

    [LV.4]偶尔看看III

     楼主| 发表于 2013-7-13 08:09:26 | 显示全部楼层
    Discuz! 怎么对opera支持不好了?
    传不了图片
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2013-10-31 08:31
  • 签到天数: 16 天

    连续签到: 1 天

    [LV.4]偶尔看看III

     楼主| 发表于 2013-7-13 08:13:02 | 显示全部楼层
    无标题.png

    用查询方式接收数据,
    这模块信号太差了!淘宝买的,跟我们产品上用的差得太远了。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2013-10-31 08:31
  • 签到天数: 16 天

    连续签到: 1 天

    [LV.4]偶尔看看III

     楼主| 发表于 2013-7-13 08:13:57 | 显示全部楼层
    接下来添加中断
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2015-4-2 21:18:34 | 显示全部楼层
    我想问一下哪个编译指令是由什么组成的?
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-11-19 09:41 , Processed in 0.198336 second(s), 33 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.