俗话说:每个人一生下来什么都会的,都是通过自己努力和探索出来的,NRF系列芯片,刚开始都好奇心加兴趣才来捣鼓它的,刚开始做硬件和软件,没有收发数据弄得整个人头都快炸开了,所以在此和大家分享一下前辈的经验,希望大家会少走弯路。

Q:最近在选型的时候发现基本常见的无线模块都是3V供电,而我使用的单片机是5V的,它们之间要怎么连接呢?直接连接会不会损坏模块?

回答: 如果你使用的51单片机的P0口是高阻引脚,可以直接将无线模块的IO脚连接到P0端口,并在对应的连线与3V电源间放置1K~10K左右的偏置电阻即可。

如果单片机没有高阻脚(AVR单片机和一些型号的STC单片机等),不适用于上述的方法。

nRF24L01+可以承受5V的输入电压,直接连接单片机的IO脚不会烧坏模块,但是无线模块的输出端最高只能输出3V左右的电压,请注意该电压值是否能被单片机正确识别。

Q:无线模块可以直接和串口连接并进行通讯吗?我想直接把nRF24L01+模块连接到串口电路中,请问这样可以吗?

      回答: 不可以,无线模块不提供串行接口。如果需要与计算机等设备通过串口连接和通讯,请使用单片机作为通讯控制核心,接收计算机串口发送的数据并将其传送至无线模块中,并进行发送工作。另一端的无线模块接收数据后,由单片机读出数据并发送给计算机串口。

Q:影响无线模块传输距离的因素有哪些?

为什么nRF2401无线模块的传输距离总是拉不开?现在只有2米左右,输出功率已经是最高的0dBm了。

回答: 呵呵,应该是初学无线模块的最常见问题了。传输距离应该是大家最关心的事情,虽然这是一个直观的数值,但是影响通讯距离的因素却有很多。天线的性能(方向性、增益、驻波比)、无线模块的性能指标(发射功率、接收灵敏度、网络匹配、频率频率的参数的一致性)、无线模块的工作方式(数据传输速率)和使用环境因素等等。所以通讯距离应该是考验一款无线产品综合性能的指标。要想达到理想的距离,应该选择高增益、低驻波比的天线,必要时可以使用定向天线(一些模块是 PCB天线,这种天线应该是性能较差的方式,不过在近距离和小型化方面有优势);选择优质的无线模块,好的无线模块应该具有优秀的匹配网络,将发射与接收信号的损失降到最小,同时也应该具有工作频率准确、一致性好等指标;最后在传输速率的选择上,在能够满足通讯需求的前提下,优先选用低的传输速率也可以有效提高传输距离。

Q:nRF2401A的支持双通道通讯是什么意思?

我看到资料上写着NRF2401具备两个数据通道,这是什么意思呢?只是2401 可以同时在两个通道上完成发送与接收,还是是指2401只能完成两个模块之间的通讯吗?

回答: 这样理解是错误的,nRF2401A的两个数据通道是指它可以同时接收两个通道上的数据,但是发送的时候只能使用一个通道。所以是不能同时在两个通道上完成接收与发送的。同时nRF2401A无线模块属于半双工个工作方式,同一时刻只能工作在发送或接收一种模式。

另外nRF2401A模块并不是只能在两个模块之间进行通讯,只要无线模块的工作模式配置一致(相同的地址码、信道号、传输速率、数据包长度、CRC模式等)即可完成一对一、一对多、多对多的通讯模式。

Q:nRF24L01、nRF24L01+无线模块的6通道是什么含义?

一直在研究nRF24L01的通道关系可是没什么收获,想问一下6通道是指什么,它们之间的关系是什么?

回答: nRF24L01+模块内部带有6个数据通道,使用不同的数据通道进行数据发送时,它们都工作在相同的频率下。它们之间是使用地址码来作为区分的。所以你可以理解为一个nRF24L01可以同时拥有6个地址码,在接收的时候,模块会自动识别地址码,并在对应的寄存器中置位,通知用户是哪个通道接收到数据。

使用nRF24L01+的数据通道可以在少于等于6个节点的网络中大幅增加使用和操作的灵活性。在多于6个节点的网络中,用户可以自行在通讯数据中添加额外的标识数据,对不同节点进行区分工作。

nRF2401A/nRF24L01/nRF24L01+无线模块最常见问题汇集(转)的更多相关文章

  1. 51单片机对无线模块nRF24L01简单的控制收发程序

    它的一些物理特性如工作频段.供电电压.数据传输速率就不详细介绍了,直接上代码. 1.首先是发送端: // Define SPI pins #include <reg51.h> #defin ...

  2. STC8H开发(五): SPI驱动nRF24L01无线模块

    目录 STC8H开发(一): 在Keil5中配置和使用FwLib_STC8封装库(图文详解) STC8H开发(二): 在Linux VSCode中配置和使用FwLib_STC8封装库(图文详解) ST ...

  3. nRF24L01无线模块笔记

    nRF24L01模块 官网链接: https://www.nordicsemi.com/Products/nRF24-series 常见的无线收发模块, 工作在2.4GHz频段, 适合近距离遥控和数据 ...

  4. STM32F103芯片SPI控制NRF24L012.4G无线模块交互通信实验

    1.NRF24L01模块的资料百度搜索一下就有很多.这里我就不做介绍本文主要侧重于应用层面实验介绍与分享. 2.先看下原理图. 根据原理图:写出NRF24L01  C语言驱动文件如下: #includ ...

  5. STC8H开发(十五): GPIO驱动Ci24R1无线模块

    目录 STC8H开发(一): 在Keil5中配置和使用FwLib_STC8封装库(图文详解) STC8H开发(二): 在Linux VSCode中配置和使用FwLib_STC8封装库(图文详解) ST ...

  6. STC8H开发(十六): GPIO驱动XL2400无线模块

    目录 STC8H开发(一): 在Keil5中配置和使用FwLib_STC8封装库(图文详解) STC8H开发(二): 在Linux VSCode中配置和使用FwLib_STC8封装库(图文详解) ST ...

  7. XBee PRO 900HP远距离无线模块

    XBee PRO S3B也称为XBee-900HP无线模块,它是一款工作在频段900~928MHz之间,基于FHSS跳频技术的远距离无线数传电台核心模块.常用型号如下: 类别 型号 开发套件 XKB9 ...

  8. 《例说XBee无线模块开发》

    <例说XBee无线模块开发> 基本信息 原书名:The Hands-on XBee Lab Manual:Experiments that Teach you XBee Wireless ...

  9. CC1101 433无线模块,STM8串口透传

    CC1101 433无线模块,STM8串口透传   原理图:http://download.csdn.net/detail/cp1300/7496509 下面是STM8程序 CC1101.C /*** ...

随机推荐

  1. [转]Python机器学习工具箱

    原文在这里  Python在科学计算领域,有两个重要的扩展模块:Numpy和Scipy.其中Numpy是一个用python实现的科学计算包.包括: 一个强大的N维数组对象Array: 比较成熟的(广播 ...

  2. Android面试题收集

    Android是一种基于Linux的自由及开放源码的操作系统,主要使用于移动设备.如智能手机和平板电脑.由Google公司和开放手机联盟领导及开发.这里会不断收集和更新Android基础相关的面试题, ...

  3. 【算法】插入排序(Insertion Sort)

    (PS:内容参考MIT算法导论) 插入排序(Insertion Sort): 适用于数目较少的元素排序 伪代码(Pseudocode): 例子(Example): 符号(notation): 时间复杂 ...

  4. Android 演示 DownloadManager——Android 下载 apk 包并安装

    本文内容 环境 项目结构 演示下载 参考资料 本文是 github 上 Trinea-Android-common 和 Trinea-Android-Demo 项目的一部分,将下载部分分离出来,看看如 ...

  5. Oracle——数据库启动与关闭

    本文内容 服务器环境 客户端环境 概述 启动数据库 关闭数据库 补充 参考资料 本文说明 Oracle 数据库的启动和关闭,内容虽然基础,但是在数据库很多操作中都需要,因此,基础而重要,必须深入理解. ...

  6. 去除Win10快捷图标小箭头

    有点强迫症,一看到操作系统上的快捷图标小箭头就想把它去除掉. 去除小箭头 reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Cur ...

  7. WIP 003 - Create page with a tablewalker

    Need ability to delete records by click the trash can Need ability to add new records to database an ...

  8. webpack4 css 文件提取 压缩 MiniCssExtractPlugin optimize-css-assets-webpack-plugin

    1.使用的插件 MiniCssExtractPlugin:https://webpack.js.org/plugins/mini-css-extract-plugin/#src/components/ ...

  9. 修改浏览器Cookie

    Firefox:安装 Web Developer 插件,装完重启之后会出现一排新的工具栏,点击 Cookies -> Add Cookie… 即可增加/修改一个Cookie了. Opera:Op ...

  10. 利用Linux文件系统内存cache来提高性能

    https://www.linuxjournal.com/article/6345 利用Linux文件系统内存cache来提高性能 本地磁盘文件->socket发送,4步骤数据流向: hard ...