NRF24L01配置说明.docx

上传人:b****2 文档编号:22779671 上传时间:2023-04-27 格式:DOCX 页数:15 大小:7.74MB
下载 相关 举报
NRF24L01配置说明.docx_第1页
第1页 / 共15页
NRF24L01配置说明.docx_第2页
第2页 / 共15页
NRF24L01配置说明.docx_第3页
第3页 / 共15页
NRF24L01配置说明.docx_第4页
第4页 / 共15页
NRF24L01配置说明.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

NRF24L01配置说明.docx

《NRF24L01配置说明.docx》由会员分享,可在线阅读,更多相关《NRF24L01配置说明.docx(15页珍藏版)》请在冰豆网上搜索。

NRF24L01配置说明.docx

NRF24L01配置说明

USB串口无线模块的配置说明

带USB接口的模块直接插电脑进行配置,不带USB接口的模块得借助USB转串口进行配置;(如下图所示)

1、USB转串口模块以及带USB的无线驱动模块需要安装CH341驱动;

(文件在“CH341>>DRIVER>SETUP.EXE)

2、波特率默认设置为9600(带USB与不带USB的),波特率的选择范围为:

2400-115200,具体,请看配置参数对应的描述;

3、配置时,必须在断电的情况下,插上跳线帽,再从新上电;(注意:

不能上着电的情况下,插跳线帽!

4、配置完成之后,必须得把跳线帽拔掉;(注意:

必须得在断电的情况下拔,然后,再重新上电!

5、配置的格式为8个字节:

“0X00+每个数据包的长度+0X01+频道+0X02+工作模式+单向/双向运行模式+‘波特率’”

注意:

1、必须插上跳线帽进行配置,配置完之后,必须拔掉跳线帽才能正常使用;(配置时,在上电前就得插上跳线帽;当然,正常使用时也得在断电的情况下,拔跳线帽,再重新上电)

2、串口调试助手发送数据的格式为:

十六进制;

3、USB转串口模块的TX,RX与NRF24L01驱动模块(无USB的)的TX,RX要交叉相连,即一方的TX与另外一方的RX相连,然后,一方的RX与另外一方的TX相连;

4、两个模块的数据长度,频道得设置成一样,否则工作不正常;数据的长度选择范围:

(单向工作模式最小为1个字节,最大为32个字节)(双向工作模式最小为2个字节,最大为32个字节);频道的选择范围为:

从0X00到0X7F选择一个;(即0-127,从0开始,2的6次方)

5、同一个实验室的,为了不互相影响,得把频道设置成不一样,否则会互相干扰,;

6、“工作模式”只分两种:

TX模式(0X01)和RX模式(0X00),注意:

两个模块的工作模式不能一样,必须得其中一个模块为TX模式,另外一个模块为RX模式,否则,不能实现两个模块的无线通信;

7、单向/双向运行模式,0X01:

模块运行在双向通信模式,0X00:

模块运行在单向通信模式;双向模式相对单向模式而言,双向模式中,可以通过发送AT指令来切换方向,具体请看双向模式的使用要求;

8、波特的选择,从小到大分别为:

2400(0X07),4800(0X08),9600(0X00),14400(0X01),19200(0X02),38400(0X03),56000(0X04),57600(0X05),

115200(0X06);

9、数据的长度得选择适中,串口调试助手(单片机)的发送频率也得选择适中;

单向运行模式:

(注意:

配置的时候记得插上跳线帽,否则,配置不成功!

(图1)(图2)

配置参数为:

0X00+0X06+0X01+0X78+0X02+0X01+0X00+0X06(如图1所示)

这组配置参数的意思是:

单个数据包的数据长度为6个字节,频道选择120(0X78),让模块的工作模式为TX模式(0X01),模块运行在单向通信模式(0X00),波特率将选择115200(0X06)。

模块回的参数:

0X01+0X00+0X11+0X52

这组数据的意思是:

模块工作在TX模式(0X01),运行在单向数据通信模式(0X00),波特率为:

115200(0X11+0X52)(如果把波特率设置成9600的话,会回9600。

)(图2为不同的波特率对应的“数值”)

如果,一个模块的配置参数如图3所示,那么另外一个模块的配置参数得如图4所示,两个模块之间,必须得有其中一个模块设置成TX,另外一个模块设置成RX。

(图3)

(图4)

图3、图4的组合为其中的一种工作模式,就是带USB接口的驱动模块(TX式)发送,不带USB接口的驱动模块(RX模式)接收。

当然,把方向掉过来的话,也是可行的,如图5,图6所示。

(图5)

(图6)

模块工作在单向通信模式的话,单个数据包的长度最小为1个字节,最大为32个字节,其中一个模块只能一直发送,另外一个模块只能一直接收。

当你把数据通过串口发送给模块A之后,模块A直接通过无线转发到模块B,然后,模块B再通过串口输出你发送的数据,流程如图7,8,9,10,11所示。

(图7)

(图8)

(图9)

(图10)

(图11)

 

双向运行模式:

(注意:

配置的时候记得插上跳线帽,否则,配置不成功!

(图12)(图13)

配置参数为:

0X00+0X06+0X01+0X78+0X02+0X01+0X01+0X00(如图12所示)

这组配置参数的意思是:

单个数据包的数据长度为6个字节,频道选择120(0X78),让模块的工作模式为TX模式(0X01),模块运行在双向通信模式(0X00),波特率将选择9600(0X00)。

模块回的参数:

0X01+0X01+0X96+0X00

这组数据的意思是:

模块工作在TX模式(0X01),运行在双向数据通信模式(0X00),波特率为:

9600(0X96+0X00)(如果把波特率设置成4800的话,会回4800。

)(图13为不同的波特率对应的“数值”)

例如:

如图14所示,带USB接口的配置成TX模式;如图15所示,不带USB接口的配置成RX模式;这两个模块都配置成双向通信模式。

(图14)

(图15)

当这两个模块上电后,首先有发送权的是:

只有接收权,即通信的开始,带USB接口的模块可以发送数据,但不带USB接口的模块没有发送权,即只能接收。

而且,数据包的“包头”有严格的规定,即数据包的首字节为命令字节,不能作为数据使用。

数据包格式的要求:

在双向通信模式下,数据包的长度最小为2个字节,因为,首字节为命令字节了!

如,在双向通信的模式下,数据包的长度设置成6个字节,那么,给配置成TX模式的模块发送数据的格式为:

0X00+字节1+字节2+字节3+字节4+字节5。

其中,“0X00”为命令字节,字节1,2,3,4,5,为用户的数据。

当用户想让两个模块切换方向(即原来为TX模式的切换到RX模式,原来为RX模式的切换到TX模式),用户只需要往配置成TX模式的模块发送2个首字节为0X01的数据包即可!

(注意了:

由于有线的通信都会存在丢数据包的现象,所以,无线通信肯定也会存在丢数据包的现象,甚至,无线通信丢包的概率比有线的大,所以,设计的时候,需要用户发送2个首字节为0X01的数据包。

当模块接收到切换的命令之后,模块会回一个数据包给用户,这个数据包的每一个数据都为固定的数据。

注:

用户在发送两个首字节为0X01的数据包的过程中,会出现一个概率性的现象,这个现象是这样的:

有时用户发送第一个首字节为0X01的数据包之后,模块就马上回一个数据为固定的数据包(如都是0X22,或都是0X88)以表示切换成功;但是,有时侯,用户需要发送两个首字节为0X01的数据包之后,模块才回用户一个数据为固定的数据包(如0X022或0X88)以表示切换成功。

总之,有时,模块接收到一个首字节为0X01的数据包之后,马上就回用户一个表示切换成功的数据包;但是,有时,模块得接收到两个首字节为0X01的数据包之后,才回用户一个切换成功的数据包。

例如:

(图16)

PC发数据包给图16所示的模块,如果,数据包为如图17所示的数据,那么

(图17)

对于接收方(不带USB接口的模块)来说,它接收到的数据是:

000601780201,如图18所示。

(图18)

也就是说,如果,对于配置成TX模式的模块(如带USB接口的模块)来说,如果,用户发送的数据包的首字节为0X00的话,这和单向通信的模式是一样的,发送的还是只拥有发送权,接收的只有接收权。

但是,如果,用户发送的数据包的首字节是0X01的话,如图19所示,模块马上回了个数据都为0X22的数据包给用户,(如图19所示)以表示切换方向成功。

(图19)

在用户想切换模式的时候(这里举的例子是TX向RX切换,RX向TX切换),对于之前配置成TX模式的模块(带USB接口的)会先发送一个数据都为0X22的数据包给用户(如图19所示),然后,马上切换成RX模式了。

当然,对于之前配置成RX模式的模块(不带USB接口的)同样也会先发送一个数据都为0X88的数据包给用户,然后,马上切换成TX模式了,如图20所示。

(图20)

流程图

单向通信,如图21所示:

(图21)

双向通信,如图22所示:

(图22)

单向通信模式下,没有命令字节在数据包了,只要你发送什么,对方就接收什么,数据的长度最小可以为1个字节,最大可以为32个字节。

双向通信模式下,只要数据包的首字节为0X00,操作这两个模块的方法和单向通信的一样。

但当数据包的首字节为0X01的时候,两个模块马上向相反方向切换,其中,回的数据包中的数据都为0X88的代表:

已经切换成TX模式;回的数据包中的数据都为0X22的代表:

已经切换成RX模式。

另外,数据包的长度相对单向的而言,最小为2个字节,最大为32个字节,其中,有一个字节为命令字节,这个命令字节就是数据包的首字节。

注意:

不管软件上怎么切换模块的方向,重新上电后,模块还是恢复到以前的模式,即以前是TX模式的,不管软件怎么切换,虽在断电前是RX模式,但是,只要从新上电后,这个模块又恢复到TX模式了!

默认配置:

带USB接口:

0X00+0X06+0X01+0X78+0X02+0X01+0X00+0X00

6个字节,频道120,TX模式单向9600

不带USB接口:

0X00+0X06+0X01+0X78+0X02+0X00+0X00+0X00

6个字节,频道120,RX模式单向9600

无论是带USB接口的,还是不带USB接口的,都可以设置成为:

发送模式或者接收模式;但是,要实现两个模块无线通信的话,必须得让其中一个模块为发送模式,让另外一个模块为接收模式;

 

常见异常情况:

1、配合NRF24L01+无线模块使用时,跳线帽忘记拔掉(配置时不需要拔掉);

2、两个模块都设置成为:

发送模式或接受模式;

3、两个模块,配置的参数不对应,如数据长度,频道;

4、电源不纯,就是有干扰波,高频电路对电源的要求很高,这种情况得加滤波电容;

5、只能进行通信一次的,这种情况,比较常见的原因也是:

电源不纯,有干扰波;

淘宝店:

一帧科技

淘宝店主:

小辉beyond

QQ:

8919-85806

QQ:

4202-95146

淘宝链接:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1