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 /*** ...
随机推荐
- mongoose系列——几行代码实现CRUD
1. nodejs 确实好用,mongoose封装了mongodb,代码很简洁. const mongoose = require('mongoose'); mongoose.connect(&quo ...
- PKU-2104-K-th Number
K-th Number Time Limit: 20000MS Memory Limit: 65536K Total Submissions: 36045 Accepted: 11522 Ca ...
- Auty 2017——WebMonitor接口本地检测平台
转载:http://www.cnblogs.com/LanTianYou/p/6272484.html#_label0_0 目录 2016Auty诞生 2017一个新的开始 WebMonitor接口本 ...
- Asp.Net 之 禁用TextBox的记忆功能
IE提供了一个自动完成功能可以记忆我们的输入内容(如登录帐号等),方便下一次快速地录入类似资料.这确实是一个非常友好的功能,在操作时只需用鼠标双击文本框或输入前几个字符,系统会自动列出以前的录入历史供 ...
- scala VS python2 (linux or shell)
PS:只考虑最新版的scala和python2.x,由于python3.x和python2.x区别比较大,而且主流的一些开源项目都用的python2,目前python2一点点在兼容python3 1. ...
- 行内元素有哪些?块级元素有哪些? 空(void)元素有那些?
行内元素:a.b.span.img.input.strong.select.label.em.button.textarea块级元素:div.ul.li.dl.dt.dd.p.h1-h6.blockq ...
- Python标准库:内置函数bytes([source[, encoding[, errors]]])
返回一个新的数组对象,这个数组对象不能对数组元素进行改动.每一个元素值范围: 0 <= x < 256.bytes函数与bytearray函数主要差别是bytes函数产生的对象的元素不能改 ...
- Linux下使用logrotate实现日志切换
运维过程中经常会发现一些 C 程序,每天会生产这样的日志: /home/admin/app_name/logs/access_log 那么天长地久,如果这个程序不会自动去轮转这个日志,那么这个日志文件 ...
- wwindows文件放入linux后多出换行符
将 windows文件移到linux系统下会在文件行末尾多了一个换行符^M 使用命令cat -v tmp.c可以看到每行后边有^M字符 为了解决这个问题,我们用如下命令:touch love_tmp. ...
- AndroidAnnotations库的使用
AndroidAnnotations(Code Diet) android高速开发框架简单介绍: 项目地址:https://github.com/excilys/androidannotations ...