arduino pro mini NRF2401使用

arduino一般自带 Mirf 库,没有的话自行下载。

我这里简单封装方便使用,就不介绍怎么添加库了。代码比较简单,就不多说了。

h文件

#ifndef M_NRF_H
#define M_NRF_H
#include <SPI.h>
#include <Mirf.h>
#include <nRF24L01.h>
#include <MirfHardwareSpiDriver.h>

class m_nrf{
  public:
  void TX_init();
  void RX_init();
  void sends(unsigned char* buf);
  void recvs(unsigned char* buf);
    
};

#endif

c文件

#include "m_nrf.h"
void m_nrf::TX_init()
{
    /*
   * CE 6
   * CS 10
   * MOSI 11    三路spi是官方驱动固定的,CE和CS可以自己修改
   * MISO 12
   * SCK 13
   */
  Mirf.cePin = 6;    //设置CE引脚为D6
  Mirf.csnPin = 10; //设置CS引脚为D10
  Mirf.spi = &MirfHardwareSpi;
  Mirf.init();
  Mirf.setRADDR((byte *)"ABCDE"); //设置自己的地址(发送端地址),使用5个字符
  Mirf.payload = 32;              //传输的字节
  Mirf.channel = 90;              //设置所用信道  
  Mirf.config();
  Mirf.setTADDR((byte *)"HES_A");           //设置接收端地址

}
void m_nrf::RX_init()
{
  /*
   * CE 8
   * CS 7
   * MOSI 11    三路spi是官方驱动固定的,CE和CS可以自己修改
   * MISO 12
   * SCK 13
   */
  
  Mirf.spi = &MirfHardwareSpi;
  Mirf.init();
  Mirf.setRADDR((byte *)"HES_A"); //设置自己的地址(接收端地址),使用5个字符
  Mirf.payload = 32;
  Mirf.channel = 90;   //设置使用的信道
  Mirf.config();
}
void m_nrf::sends(unsigned char* buf)
{
  Mirf.send(buf);                //发送指令,发送随机数value
  while (Mirf.isSending()) delay(1);        //直到发送成功,退出循环
}
void m_nrf::recvs(unsigned char* buf)
{
  if (Mirf.dataReady()) { //当接收到程序,
    Mirf.getData(buf);
  }
}


  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值