NRF24L01的通道1 频道40配置:

2023-11-16

NRF24L01的通道1,频道40配置:

1、修改频道:

//#define CHANAL 40    //频道选择

#define CHANAL 10    //频道选择

2、保证 接发收地址宽度一致 #defineTX_ADR_WIDTH     5        //发射地址宽度

                                              #define RX_ADR_WIDTH    5     

3、修改接发收函数

void NRF_RX_Mode(void)

{
    NRF_CE_LOW();  

// 修改为通道1 寄存器地址  

//SPI_NRF_WriteBuf(NRF_WRITE_REG+RX_ADDR_P0,RX_ADDRESS,RX_ADR_WIDTH);//写RX节点地址

   SPI_NRF_WriteBuf(NRF_WRITE_REG+RX_ADDR_P1,RX_ADDRESS,RX_ADR_WIDTH);//写RX节点地址 

 

//SPI_NRF_WriteReg(NRF_WRITE_REG+EN_AA,0x00);    //使能通道0的自动应答

   SPI_NRF_WriteReg(NRF_WRITE_REG+EN_AA,0x02);    //使能通道1的自动应答         //修改后 0x01 改为0x02

//SPI_NRF_WriteReg(NRF_WRITE_REG+EN_RXADDR,0x01);//使能通道0的接收地址

   SPI_NRF_WriteReg(NRF_WRITE_REG+EN_RXADDR,0x02);//使能通道1的接收地址   //修改后, 0x01 改为0x02

   SPI_NRF_WriteReg(NRF_WRITE_REG+RF_CH,CHANAL);      //设置RF通信频率    

//SPI_NRF_WriteReg(NRF_WRITE_REG+RX_PW_P1,RX_PLOAD_WIDTH);//选择通道0的有效数据宽度  

   SPI_NRF_WriteReg(NRF_WRITE_REG+RX_PW_P1,RX_PLOAD_WIDTH);//选择通道1的有效数据宽度       //修改RX_ADDR_P0 为RX_ADDR_P1  

   SPI_NRF_WriteReg(NRF_WRITE_REG+RF_SETUP,0x0f); //设置TX发射参数,0db增益,2Mbps,低噪声增益开启   

   SPI_NRF_WriteReg(NRF_WRITE_REG+CONFIG, 0x0f);  //配置基本工作模式的参数;PWR_UP,EN_CRC,16BIT_CRC,接收模式

/*CE拉高,进入接收模式*/    
  NRF_CE_HIGH();

}    

/**
  * @brief  配置发送模式
  * @param  无
  * @retval 无
  */
void NRF_TX_Mode(void)
{  
    NRF_CE_LOW();        

   SPI_NRF_WriteBuf(NRF_WRITE_REG+TX_ADDR,TX_ADDRESS,TX_ADR_WIDTH);    //写TX节点地址

  // 修改为通道1 寄存器地址

//SPI_NRF_WriteBuf(NRF_WRITE_REG+RX_ADDR_P0,RX_ADDRESS,RX_ADR_WIDTH);

   SPI_NRF_WriteBuf(NRF_WRITE_REG+RX_ADDR_P1,RX_ADDRESS,RX_ADR_WIDTH); //设置TX节点地址,主要为了使能ACK                                                              

  //修改:通道0时为 0x01,使用通道1时 改为0x03

//SPI_NRF_WriteReg(NRF_WRITE_REG+EN_AA,0x00);     //使能通道0的自动应答 

   SPI_NRF_WriteReg(NRF_WRITE_REG+EN_AA,0x03);     //使能通道0的自动应答            //修改后, 0x01 改为0x03

//SPI_NRF_WriteReg(NRF_WRITE_REG+EN_RXADDR,0x03); //使能通道0的接收地址

   SPI_NRF_WriteReg(NRF_WRITE_REG+EN_RXADDR,0x03); //使能通道0的接收地址      //修改后, 0x01 改为0x03

   SPI_NRF_WriteReg(NRF_WRITE_REG+SETUP_RETR,0x1a);//设置自动重发间隔时间:500us + 86us;最大自动重发次数:10次

   SPI_NRF_WriteReg(NRF_WRITE_REG+RF_CH,CHANAL);       //设置RF通道为CHANAL

   SPI_NRF_WriteReg(NRF_WRITE_REG+RF_SETUP,0x0f);  //设置TX发射参数,0db增益,2Mbps,低噪声增益开启   
    
   SPI_NRF_WriteReg(NRF_WRITE_REG+CONFIG,0x0e);    //配置基本工作模式的参数;PWR_UP,EN_CRC,16BIT_CRC,发射模式,开启所有中断

/*CE拉高,进入发送模式*/    
  NRF_CE_HIGH();
    Delay(0xffff); //CE要拉高一段时间才进入发送模式
}

参考:https://blog.csdn.net/qq_31530791/article/details/80720102

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NRF24L01的通道1 频道40配置: 的相关文章

随机推荐

  • 服务器间数据传输的四种方式

    scp 优点 简单方便 安全可靠 支持限速参数 缺点 不支持排除目录 用法 scp就是secure copy 是用来进行远程文件拷贝的 数据传输使用 ssh 并且和ssh 使用相同的认证方式 提供相同的安全保证 scp 参数 lt 源地址
  • cmake tutorial

    Tutorial 1 最基本的项目是从源代码构建可执行文件 对于简单的项目 三行CMakeLists txt足够了 这就是本教程的起点 在Step1目录下创建一个CMakeLists txt 如下所示 cmake minimum requi
  • 运行报错:from .qhull import * ImportError: DLL load failed: 找不到指定的模块。

    记录一次报错 当出现这个问题时说明模块安装有误 但不知道原因 应该是在此之前需要先把安装的numpy scipy sklearn卸载掉 先看究竟是哪个模块出的错误 直接 pip uninstall numpy pip uninstall s
  • Chatgpt 未来可以应用的场景

    ChatGPT是一款基于GPT 3的聊天机器人 它具有自然语言处理和生成语言的强大能力 在很多场景下可以有很广泛的应用 以下是ChatGPT未来可以应用的一些场景 客服 ChatGPT可以被用作客服机器人 为用户提供帮助和解答问题 教育 C
  • 坐上支付宝微信支付巨头的刷脸顺风车

    人脸识别技术已经在互联网 政务领域得到了广泛应用 超过100个城市的用户通过支付宝刷脸完成身份验证中国财政科学研究院应用学博士后盘和林认为 刷脸支付比密码支付更安全更便捷 随着门槛的进一步降低 刷脸支付或将在未来3年内呈现爆发式的增长 20
  • Pytorch 计算一个矩阵行向量之间的相似度

    import torch def similarity input tensor step 1 计算行向量的长度 len a torch sqrt torch sum input tensor 2 dim 1 b len a unsquee
  • Enum枚举类型实战总结,保证有用!

    一般在我们开发时如果能使用枚举罗列的 一般都会定义一个枚举类型 将枚举类型作为方法的参数 可以方便的进行调用 给我们带来不少的便利 当然有时候它还不如直接用一个int类型带来 带来一定灵活性 但只要能满足业务咱们就怎么方便怎么来吧 基本使用
  • Java+MyEclipse+Tomcat (二)配置Servlet及简单实现表单提交

    在Java EE应用编程中Servlet是基础 JSP是建立在Servlet基础之上的 其他Web框架如Struts WebWork和Spring MVC都是基于Servlet的 本文主要讲述MyEclipse和Tomcat配置Servle
  • MATLAB的KLT算法实现视频中人脸跟踪检测

    上次已经用卡尔曼滤波实现了人脸跟踪 也取得了一定的效果 但仍存在一些问题 如人侧脸的时候跟踪效果并不理想 而KLT算法则能很好的解决这个问题 本文一共两部分 理论部分借鉴博了客园上的博主 https www cnblogs com moon
  • JavaScript 类型判断 判断Null和Undefined

    js类型判断 判断Null和Undefined javaScript中判断数据类型的方法主要有三种 typeof 原理是通过根据变量的机器码来判断 instanceof 根据 构造函数的 prototype 属性是否出现在某个实例对象的原型
  • 如何使用宝塔面板搭建网站(最后一步!上传文件至宝塔面板)

    这里就是我们搭建宝塔面板的最后一步了 把我们的PHP文件上传到宝塔面板上 就可以通过因特尔网络访问我们的网址了 第一步 基础安装 必须是Linux服务器 不支持window服务器 最低要求配置1核1G当然再低些也能运行但是不建议 要求服务器
  • python入门爬虫实例(含代码)

    准备工作 1 导入requeste库 需要下载 2 获取url 3 查找User Agent 请求载体的身份标识符 把它当成headers 避免反爬 4 把获取到的的数据存储起来 import requests if name main u
  • Install Harbor 2.8 on Centos

    目录 Node System Software Lists Architecture Overview of Harbor Install Harbor 2 8 Harbor Installation Prerequisites Insta
  • 【AntDB数据库】AntDB数据库服务端参数

    AntDB服务端参数 单机版数据库启动参数说明 命令格式 pg ctl start D datadir l filename W t seconds s o options p path c pg ctl stop D datadir m
  • QT 如何打印QThread线程id号

    qDebug lt lt DealTimeoutObject1 lt
  • react16.3官方文档

    https reactjs org blog 2018 03 29 react v 16 3 html
  • 动态代理的简单实现

    前言 例如 假设对于一个类 有方法sayHello Component public class Hello implements HelloInterface Value cjl private String name public vo
  • Java使用poi导出ppt文件

    目录 1 导入poi相关依赖 2 相关的代码 1 导入poi相关依赖
  • css多层边框使用多层阴影实现修改shopify 变体 商品属性 variant 修改实现

    我们在开发的时候经常会需要实现很多环形嵌套 圆形嵌套 或者是多边框 多层不同颜色边框嵌套的效果 方形的可以用outline 和border来增加 但是outline在大部分的浏览器不支持圆角 只有火狐浏览器使用火狐的前缀 moz outli
  • NRF24L01的通道1 频道40配置:

    NRF24L01的通道1 频道40配置 1 修改频道 define CHANAL 40 频道选择 define CHANAL 10 频道选择 2 保证 接发收地址宽度一致 defineTX ADR WIDTH 5 发射地址宽度 define