nRF2401A/nRF24L01/nRF24L01+无线模块最常见问题汇集(转)
俗话说:每个人一生下来什么都会的,都是通过自己努力和探索出来的,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+无线模块最常见问题汇集(转)的更多相关文章
- 51单片机对无线模块nRF24L01简单的控制收发程序
它的一些物理特性如工作频段.供电电压.数据传输速率就不详细介绍了,直接上代码. 1.首先是发送端: // Define SPI pins #include <reg51.h> #defin ...
- STC8H开发(五): SPI驱动nRF24L01无线模块
目录 STC8H开发(一): 在Keil5中配置和使用FwLib_STC8封装库(图文详解) STC8H开发(二): 在Linux VSCode中配置和使用FwLib_STC8封装库(图文详解) ST ...
- nRF24L01无线模块笔记
nRF24L01模块 官网链接: https://www.nordicsemi.com/Products/nRF24-series 常见的无线收发模块, 工作在2.4GHz频段, 适合近距离遥控和数据 ...
- STM32F103芯片SPI控制NRF24L012.4G无线模块交互通信实验
1.NRF24L01模块的资料百度搜索一下就有很多.这里我就不做介绍本文主要侧重于应用层面实验介绍与分享. 2.先看下原理图. 根据原理图:写出NRF24L01 C语言驱动文件如下: #includ ...
- STC8H开发(十五): GPIO驱动Ci24R1无线模块
目录 STC8H开发(一): 在Keil5中配置和使用FwLib_STC8封装库(图文详解) STC8H开发(二): 在Linux VSCode中配置和使用FwLib_STC8封装库(图文详解) ST ...
- STC8H开发(十六): GPIO驱动XL2400无线模块
目录 STC8H开发(一): 在Keil5中配置和使用FwLib_STC8封装库(图文详解) STC8H开发(二): 在Linux VSCode中配置和使用FwLib_STC8封装库(图文详解) ST ...
- XBee PRO 900HP远距离无线模块
XBee PRO S3B也称为XBee-900HP无线模块,它是一款工作在频段900~928MHz之间,基于FHSS跳频技术的远距离无线数传电台核心模块.常用型号如下: 类别 型号 开发套件 XKB9 ...
- 《例说XBee无线模块开发》
<例说XBee无线模块开发> 基本信息 原书名:The Hands-on XBee Lab Manual:Experiments that Teach you XBee Wireless ...
- CC1101 433无线模块,STM8串口透传
CC1101 433无线模块,STM8串口透传 原理图:http://download.csdn.net/detail/cp1300/7496509 下面是STM8程序 CC1101.C /*** ...
随机推荐
- IE下推断IE版本号的语句
样例: 1. <!--[if !IE]> 除IE外都可识别 <![endif]--> 2. <!--[if IE]> 全部的IE可识别 <![endif]-- ...
- 如何拷贝一个wchar_t类型的字符串
Do this, wchar_t clone[260]; wcscpy(clone,szPath); Or, if you want to allocate memory yourself, wcha ...
- 红米除线刷的另外一种救砖方法fastboot
原文来自:https://jingyan.baidu.com/article/48a42057e945bca9242504d7.html , 按照它操做了一下,虽然没有救活我的红米1,但是让我更好的了 ...
- mac切换root
方法一: sudo -i sudo su或是su. 转自:http://blog.csdn.net/duanyipeng/article/details/8621967
- ASP入门(二十二)-连接数据库
ADO 简介 在 ASP 中访问数据库使用的 ADO 组件. ADO 是一项微软的技术. ADO 指 ActiveX 数据对象(ActiveX Data Objects). ADO 是微软的 Acti ...
- 【Python】使用torrentParser1.03对多文件torrent的分析结果
Your environment has been set up for using Node.js 8.5.0 (x64) and npm. C:\Users\horn1>cd C:\User ...
- 浅谈压缩感知(七):常见测量矩阵的MATLAB实现
1.随机高斯测量矩阵 function [ Phi ] = GaussMtx( M,N ) %GaussMtx Summary of this function goes here % Generat ...
- C++ 容器元素的存储和获取
1.存储对象,存储的是对象的副本,并不是原对象.2.获取对象,获取的是对象的引用,为什么要这样设计?a.存储对象只发生一次,而获取对象往往会有多次,获取对象,如果每次都返回对象的副本,这个开销很大.b ...
- UML关系(泛化,实现,依赖,关联(聚合,组合))
http://www.cnblogs.com/olvo/archive/2012/05/03/2481014.html UML类图关系(泛化 .继承.实现.依赖.关联.聚合.组合) 继承.实现.依赖. ...
- phpmyadmin误删表后如何恢复
用mysqlbinlog php处理代码: 将mysql-bin.xxxxxx文件导出为可读文本: <?php //导出mysql-bin.000xxx文件为可读性txt文本 //0为执行成功, ...