1、NRF24L01配置说明USB串口无线模块的配置说明带USB接口的模块直接插电脑进行配置,不带USB接口的模块得借助USB转串口进行配置;(如下图所示)1、 USB转串口模块以及带USB的无线驱动模块需要安装CH341驱动; (文件在“CH341DRIVERSETUP.EXE)2、波特率默认设置为9600(带USB与不带USB的),波特率的选择范围为:2400-115200,具体,请看配置参数对应的描述;3、配置时,必须在断电的情况下,插上跳线帽,再从新上电;(注意:不能上着电的情况下,插跳线帽!)4、配置完成之后,必须得把跳线帽拔掉;(注意:必须得在断电的情况下拔,然后,再重新上电!)5、配
2、置的格式为8个字节:“0X00+每个数据包的长度+0X01+频道+0X02+工作模式+单向/双向运行模式+波特率”注意:1、必须插上跳线帽进行配置,配置完之后,必须拔掉跳线帽才能正常使用;(配置时,在上电前就得插上跳线帽;当然,正常使用时也得在断电的情况下,拔跳线帽,再重新上电)2、串口调试助手发送数据的格式为:十六进制;3、USB转串口模块的TX,RX与NRF24L01驱动模块(无USB的)的TX,RX要交叉相连,即一方的TX与另外一方的RX相连,然后,一方的RX与另外一方的TX相连; 4、两个模块的数据长度,频道得设置成一样,否则工作不正常;数据的长度选择范围:(单向工作模式最小为1个字节
3、,最大为32个字节)(双向工作模式最小为2个字节,最大为32个字节);频道的选择范围为:从0X00到0X7F选择一个;(即0-127,从0开始,2的6次方)5、同一个实验室的,为了不互相影响,得把频道设置成不一样,否则会互相干扰,;6、“工作模式”只分两种:TX模式(0X01) 和 RX模式(0X00),注意:两个模块的工作模式不能一样,必须得其中一个模块为 TX模式,另外一个模块为 RX模式,否则,不能实现 两个模块的无线通信;7、单向/双向运行模式,0X01:模块运行在双向通信模式 ,0X00:模块运行在单向通信模式;双向模式相对单向模式而言,双向模式中,可以通过发送AT指令来切换方向,具
4、体请看 双向模式的使用要求;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个
5、字节,频道选择120(0X78),让模块的工作模式为 TX模式(0X01),模块运行在单向通信模式(0X00),波特率将选择115200(0X06)。模块回的参数:0X01+0X00+0X11+0X52这组数据的意思是:模块工作在TX模式(0X01),运行在单向数据通信模式(0X00),波特率为:115200 (0X11+0X52 )(如果把波特率设置成9600的话,会回96 00。) (图2为不同的波特率对应的 “数值”)如果,一个模块的配置参数如图3所示,那么另外一个模块的配置参数得如图4所示,两个模块之间,必须得有其中一个模块设置成 TX,另外一个模块设置成RX。(图3)(图4)图3、图
6、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)
7、配置参数为: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的话,会回48 00。) (图13为不同的波特率对应的 “数值”)例如:如图14所示,带
8、USB接口的配置成TX模式;如图15所示,不带USB接口的配置成RX模式;这两个模块都配置成 双向通信模式 。(图14)(图15)当这两个模块上电后,首先有发送权的是:,只有接收权,即通信的开始,带USB接口的模块可以发送数据,但不带USB接口的模块没有发送权,即只能接收。而且,数据包的“包头”有严格的规定,即数据包的首字节为命令字节,不能作为数据使用。 数据包格式的要求:在双向通信模式下,数据包的长度最小为2个字节,因为,首字节为命令字节了!如,在双向通信的模式下,数据包的长度设置成6个字节,那么,给配置成TX模式的模块发送数据的格式为: 0X00+字节1+字节2+字节3+字节4+字节5 。
9、其中,“0X00”为命令字节,字节1,2,3,4,5,为用户的数据。当用户想让两个模块切换方向(即原来为TX模式的切换到RX模式,原来为RX模式的切换到TX模式),用户只需要往配置成 TX模式的模块发送2个首字节为0X01的数据包即可!(注意了:由于有线的通信都会存在丢数据包的现象,所以,无线通信肯定也会存在丢数据包的现象,甚至,无线通信丢包的概率比有线的大,所以,设计的时候,需要用户发送2个首字节为0X01的数据包。当模块接收到切换的命令之后,模块会回一个数据包给用户,这个数据包的每一个数据都为固定的数据。)注:用户在发送两个首字节为0X01的数据包的过程中,会出现一个概率性的现象,这个现象
10、是这样的:有时用户发送第一个首字节为0X01的数据包之后,模块就马上回一个数据为固定的数据包(如都是0X22,或都是0X88)以表示切换成功;但是,有时侯,用户需要发送两个首字节为0X01的数据包之后,模块才回用户一个数据为固定的数据包(如0X022或0X88)以表示切换成功。总之,有时,模块接收到一个首字节为0X01的数据包之后,马上就回用户一个表示切换成功的数据包;但是,有时,模块得接收到两个首字节为0X01的数据包之后,才回用户一个切换成功的数据包。例如: (图16)PC发数据包给图16所示的模块,如果,数据包为如图17所示的数据,那么(图17)对于接收方(不带USB接口的模块)来说,它
11、接收到的数据是: 00 06 01 78 02 01 ,如图18所示。(图18) 也就是说,如果,对于配置成TX模式的模块(如带USB接口的模块)来说,如果,用户发送的数据包的首字节为0X00的话,这和单向通信的模式是一样的,发送的还是只拥有发送权,接收的只有接收权。但是,如果,用户发送的数据包的首字节是0X01的话,如图19所示,模块马上回了个数据都为0X22的数据包给用户,(如图19所示)以表示切换方向成功。(图19) 在用户想切换模式的时候(这里举的例子是TX向RX切换,RX向TX切换),对于之前配置成TX模式的模块(带USB接口的)会先发送一个数据都为0X22的数据包给用户(如图19所
12、示),然后,马上切换成RX模式了。当然,对于之前配置成RX模式的模块(不带USB接口的)同样也会先发送一个数据都为0X88的数据包给用户,然后,马上切换成TX模式了,如图20所示。(图20)流程图单向通信,如图21所示:(图21)双向通信,如图22所示:(图22) 单向通信模式下,没有命令字节在数据包了,只要你发送什么,对方就接收什么,数据的长度最小可以为1个字节,最大可以为32个字节。双向通信模式下,只要数据包的首字节为0X00,操作这两个模块的方法和单向通信的一样。但当数据包的首字节为0X01的时候,两个模块马上向相反方向切换,其中,回的数据包中的数据都为0X88的代表:已经切换成TX模式
13、;回的数据包中的数据都为0X22的代表:已经切换成RX模式。另外,数据包的长度相对单向的而言,最小为2个字节,最大为32个字节,其中,有一个字节为命令字节,这个命令字节就是数据包的首字节。 注意:不管软件上怎么切换模块的方向,重新上电后,模块还是恢复到以前的模式,即以前是TX模式的,不管软件怎么切换,虽在断电前是RX模式,但是,只要从新上电后,这个模块又恢复到TX模式了!默认配置: 带USB接口:0X00+ 0X06 +0X01+ 0X78 +0X02+ 0X01+ 0X00+ 0X00 6个字节, 频道120, TX模式 单向 9600 不带USB接口:0X00+ 0X06 +0X01+ 0
14、X78 +0X02+ 0X00+ 0X00+ 0X00 6个字节, 频道120, RX模式 单向 9600 无论是带USB接口的,还是不带USB接口的,都可以设置成为:发送模式或者接收模式;但是,要实现两个模块无线通信的话,必须得让其中一个模块为发送模式,让另外一个模块为接收模式;常见异常情况:1、 配合NRF24L01+无线模块使用时,跳线帽忘记拔掉(配置时不需要拔掉);2、 两个模块都设置成为:发送模式或接受模式;3、 两个模块,配置的参数不对应,如数据长度,频道;4、 电源不纯,就是有干扰波,高频电路对电源的要求很高,这种情况得加滤波电容;5、 只能进行通信一次的,这种情况,比较常见的原因也是:电源不纯,有干扰波;淘宝店:一帧科技淘宝店主:小辉beyondQQ: 8919-85806QQ:4202-95146 淘宝链接:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1