nrf52832 esb 2.4G通信 一对多 改频道

2024-06-02 21:52

本文主要是介绍nrf52832 esb 2.4G通信 一对多 改频道,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

若想支持更多客户端,可通过修改通道号及频率的方式,

同频道下,最多支持8个通道,若想支持更多的设备,接收端需要修改频道,与发送端保持一致;

常用函数:

  • bool nrf_esb_set_enabled_prx_pipes(uint32_t pipes)

用于使能接收通道,第0位对应通道1,依次类推,可同时使能多个通道

  • bool nrf_esb_set_crc_length (nrf_esb_crc_length_t length)

设置CRC校验,务必使发送方和接收方一致

  • bool nrf_esb_set_output_power(nrf_esb_output_power_t power)

设置发送功率,可选功率从4~-20,4为步数

  • bool nrf_esb_set_channel (uint32_t channel )

设置无线通讯频率。无线频率=(2400 + channel) MHz,0 <= channel <= 125。

  • bool nrf_esb_set_datarate(nrf_esb_datarate_t datarate)

设置通信速率:可选250Kbps,1M,2M

发送端,修改频道方式:

nrf_esb_start_rx()函数内,NRF_RADIO->FREQUENCY    = m_esb_addr.rf_channel; 设置发送频道,找到变量位置,设置发送频道;

#define NRF_ESB_ADDR_DEFAULT                                                    \
{                                                                               \
    .base_addr_p0       = { 0xE7, 0xE7, 0xE7, 0xE7 },                           \
    .base_addr_p1       = { 0xC2, 0xC2, 0xC2, 0xC2 },                           \
    .pipe_prefixes      = { 0xE7, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8 },   \
    .addr_length        = 5,                                                    \
    .num_pipes          = 5,                                                    \
    .rf_channel         = 8,               \\设置发送频道为8
    .rx_pipes_enabled   = 0xFF                                                  \
}

接收端:

while(nrf_esb_stop_rx() != NRF_SUCCESS){} //停止接收
 if(nrf_esb_set_rf_channel(8) == NRF_SUCCESS) //修改接收频道
 {
           printf("set channel 8 success\n"); 
 }
else
       printf("set channel 8 wrong\n"); 
       err_code = nrf_esb_start_rx(); //开始接收
       APP_ERROR_CHECK(err_code);
            
           

这篇关于nrf52832 esb 2.4G通信 一对多 改频道的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1025190

相关文章

通信系统网络架构_2.广域网网络架构

1.概述          通俗来讲,广域网是将分布于相比局域网络更广区域的计算机设备联接起来的网络。广域网由通信子网于资源子网组成。通信子网可以利用公用分组交换网、卫星通信网和无线分组交换网构建,将分布在不同地区的局域网或计算机系统互连起来,实现资源子网的共享。 2.网络组成          广域网属于多级网络,通常由骨干网、分布网、接入网组成。在网络规模较小时,可仅由骨干网和接入网组成

ROS话题通信流程自定义数据格式

ROS话题通信流程自定义数据格式 需求流程实现步骤定义msg文件编辑配置文件编译 在 ROS 通信协议中,数据载体是一个较为重要组成部分,ROS 中通过 std_msgs 封装了一些原生的数据类型,比如:String、Int32、Int64、Char、Bool、Empty… 但是,这些数据一般只包含一个 data 字段,结构的单一意味着功能上的局限性,当传输一些复杂的数据,比如:

使用JWT进行安全通信

在现代Web应用中,安全通信是至关重要的。JSON Web Token(JWT)是一种流行的安全通信方式,它允许用户和服务器之间安全地传输信息。JWT是一种紧凑的、URL安全的表示方法,用于在两方之间传输信息。本文将详细介绍JWT的工作原理,并提供代码示例帮助新人理解和实现JWT。 什么是JWT? JWT是一种开放标准(RFC 7519),它定义了一种紧凑且自包含的方式,用于在各方之间以JSO

ROS话题通信机制实操C++

ROS话题通信机制实操C++ 创建ROS工程发布方(二狗子)订阅方(翠花)编辑配置文件编译并执行注意订阅的第一条数据丢失 ROS话题通信的理论查阅ROS话题通信流程理论 在ROS话题通信机制实现中,ROS master 不需要实现,且连接的建立也已经被封装了,需要关注的关键点有三个: 发布方(二狗子)订阅方(翠花)数据(此处为普通文本) 创建ROS工程 创建一个ROS工程

毫米波移动通信系统中的波束赋形

在毫米波移动通信系统中,系统的频点较高,因此毫米波系统的射频器件易于小型化,然而同时也带来绕射能力差、穿透损耗大、路径损耗大[4][5]等缺点,这将大大降低了毫米波通信系统的接收功率,其中阻挡效应被认为是制约毫米波应用于移动通信系统的关键因素之一。为了对抗毫米波移动通信系统的噪声受限问题,目前普遍认为在毫米波移动通信系统中将会在发射端和接收端上同时使用天线阵列进行发送和接收[4][5],因此必须要

websocket 安全通信

WebSocket 协议 WebSocket:在 2008 年诞生,2011 年成为国际标准。它允许服务器主动向客户端推送信息,客户端也可以主动向服务器发送信息,实现了真正的双向平等对话。它是一种在单个 TCP 连接上进行全双工通讯的协议,能够更高效地进行实时通信。 传统的轮询:浏览器需要不断地向服务器发出 HTTP 请求,浪费带宽和服务器资源。 WebSocket 的优点: 建立在 T

谁说串口通信波特率越高越好?

在电子世界里,串口通信就像是电子设备之间的“悄悄话”,它们通过串行数据传输来交换信息。但你知道吗?串口通信的波特率并不是越高越好,这事儿得好好聊聊。 1.什么是串口通信? 串口通信,就像它的名字一样,是一种串行的数据传输方式。它允许设备通过一根线(或几根线)来传递信息。想象一下,你通过一根绳子传递小纸条给朋友,这就是串口通信的基本概念。 2.串口通信波特率是什么?

RPC通信原理以及项目的技术选型

目录 1.引言 2、RPC通信原理 3.图示解析 4.再举个例子 1.引言 根据上一篇博客《单机,集群和分布式》的举的例子。 我们最终合理地通过对大型软件的合理划分,划分成不同模块,按需求(硬件需求,高并发需求)进行分布式,一台机器上运行的模块不能单独构成聊天系统,所有机器上的不同模块构成一个聊天系统。解决一些单机和集群服务器所遇到的一些问题 即不同进程,不同机器上模块的

通信系统网络架构_1.局域网网络架构

当今,通信网络从大的方面主要包括局域网、广域网、移动通信网等网络形式。不同的网络会采用不同的技术进行网络构建。以下针对不同的网络给出各自的网络架构以及所采用的技术。 1.概述          局域网,即计算机局部区域网络,是一种为单一机构所拥有的专用计算机网络。其特点是:覆盖地理范围小,通常限定在相对独立的范围内,如一座建筑或集中建筑群内(通常2.5km内);数据传输速率高(

【Android源码解析】一篇搞定“路由、网络层、UI层、通信层

资料获取 扫一扫下方二维码即可免费领取1880页的《Android百大框架源码解析》 《Android 百大框架源码解析》 1.Retrofit 2.0源码解析 2.Okhttp3源码解析 3.ButterKnife源码解析 4.MPAndroidChart 源码解析 5.Glide源码解析 6.Leakcanary 源码解析 7.Universal-lmage-Loa