nrf24l01通讯协议文档格式.docx
- 文档编号:12945633
- 上传时间:2022-10-01
- 格式:DOCX
- 页数:8
- 大小:13.97KB
nrf24l01通讯协议文档格式.docx
《nrf24l01通讯协议文档格式.docx》由会员分享,可在线阅读,更多相关《nrf24l01通讯协议文档格式.docx(8页珍藏版)》请在冰豆网上搜索。
最后发射成功时,若ce为低,则nRF24l01进入待机模式1;
若发送堆栈中有数据且ce为高,则进入下一次发射;
若发送堆栈中无数据且ce为高,则进入待机模式2。
接收数据时,首先将nRF24l01配置为接收模式,接着延迟130μs进入接收状态等待数据的到来。
当接收方检测到有效的地址和cRc时,就将数据包存储在接收堆栈中,同时中断标志位Rx_dR置高,iRq变低,以便通知mcu去取数据。
若此时自动应答开启,接收方则同时进入发射状态回传应答信号。
最后接收成功时,若ce变低,则nRF24l01进入空闲模式1。
三、模块引脚说明
1
四、模块与at89s52单片机接口电路
注:
上图为示意连接,可根据自己实际需求进行更改;
使用at89s52mcu模块时,请将nrf24l01通
讯模块每个端口(mosi、sck、csn和ce)接4.7k的排阻上拉到Vcc增强其驱动能力(如下图:
)。
若使用其它单片机与nrf24l01通讯模块相连时请串联2k电阻。
2
五、工作模式控制
注1:
进入此模式后,只要csn置高,在FiFo中的数据就会立即发射出去,直到所有数据数据发射完毕,之后进入待机模式ii。
注2:
正常的发射模式,ce端的高电平应至少保持10us。
24l01将发射一个数据包,之后进入待机模式i。
六、数据和控制接口通过以下六个引脚,可实现模块的所有功能:
①iRq(低电平有效,中断输出)②ce(高电平有效,发射或接收模式控制)③csn(spi信号)④sck(spi信号)⑤mosi(spi信号)⑥miso(spi信号)
通过spi接口,可激活在数据寄存器FiFo中的数据;
或者通过spi命令(1个字节长度)访问寄存器。
在待机或掉电模式下,单片机通过spi接口配置模块;
在发射或接收模式下,单片机通过spi接口接收或发射数据。
1.spi指令所有的spi指令均在当csn由低到高开始跳变时执行;
从mosi写命令的同时,miso实时返回24l01的状态值;
spi指令由命令字节和数据字节两部分组成。
spi命令字节表
3
2.spi时序spi读写时序见下面两图。
在写寄存器之前,一定要进入待机模式或掉电模式。
其中,cn——spi指令位;
sn——状态寄存器位;
dn——数据位(低字节在前,高字节在后;
每个字节中高位在前)
spi读时序
spi写时序
4
5
篇二:
基于nRF24l01无线数据传输
大学生科技活动项目资助申请书
项目名称基于无线数据传输多点测温模块项目类别:
课外科技制作
申请人郭建所在单位机电工程学院
指导教师:
职称
填报时间20xx.06.19
校大学生科技活动领导办公室
第1页
第2页
第3页
第4页
篇三:
nRF24l01双向通信
//nRF24l01发送端:
#include
typedefunsignedcharuchar;
typedefunsignedcharuint;
//****************************************io端口定义***************************************
sbitmiso=p1^4;
sbitmosi=p1^3;
sbitsck=p1^2;
sbitce=p1^0;
sbitcsn=p1^1;
sbitiRq=p1^5;
//***********************************数码管0-9编码*******************************************
//ucharseg[10]={0xc0,0xcF,0xa4,0xb0,0x99,0x92,0x82,0xF8,0x80,0x90};
//0~~9段码
//************************************继电器**********************************************
//sbitjdq=p2^5;
//sbitbell=p2^6;
//************************************按键**********************************************
//sbitkey1=p3^6;
sbitkey2=p3^7;
//sbitkey=p3^3;
//定义按键输入端口
//***********************************数码管位选*********************************************
*****
//sbitled1=p2^1;
//sbitled0=p2^0;
//sbitled2=p2^2;
//sbitled3=p2^3;
//*********************************************nRF24l01*************************************
#definetx_adR_width5//5uintstxaddresswidth
#defineRx_adR_width5//5uintsRxaddresswidth
#definetx_pload_width20//20uintstxpayload
#defineRx_pload_width20//20uintstxpayload
uintconsttx_addRess[tx_adR_width]={0x34,0x43,0x10,0x10,0x01};
//本地地址uintconstRx_addRess[Rx_adR_width]={0x34,0x43,0x10,0x10,0x01};
//接收地址//***************************************nRF24l01寄存器指令*******************************************************
#defineRead_Reg0x00//读寄存器指令
#definewRite_Reg0x20//写寄存器指令
#defineRd_Rx_pload0x61//读取接收数据指令
#definewR_tx_pload0xa0//写待发数据指令
#defineFlush_tx0xe1//冲洗发送FiFo指令
#defineFlush_Rx0xe2//冲洗接收FiFo指令
#defineReuse_tx_pl0xe3//定义重复装载数据指令
#definenop0xFF//保留
//*************************************spi(nRF24l01)寄存器地址****************************************************
#defineconFig0x00//配置收发状态,cRc校验模式以及收发状态响应方式#defineen_aa0x01//自动应答功能设置
#defineen_RxaddR0x02//可用信道设置
#definesetup_aw0x03//收发地址宽度设置
#definesetup_RetR0x04//自动重发功能设置
#defineRF_ch0x05//工作频率设置
#defineRF_setup0x06//发射速率、功耗功能设置
#definestatus0x07//状态寄存器
#defineobseRVe_tx0x08//发送监测功能
#definecd0x09//地址检测
#defineRx_addR_p00x0a//频道0接收数据地址
#defineRx_addR_p10x0b//频道1接收数据地址
#defineRx_addR_p20x0c//频道2接收数据地址
#defineRx_addR_p30x0d//频道3接收数据地址
#defineRx_addR_p40x0e//频道4接收数据地址
#defineRx_addR_p50x0F//频道5接收数据地址
#definetx_addR0x10//发送地址寄存器
#defineRx_pw_p00x11//接收频道0接收数据长度
#defineRx_pw_p10x12//接收频道0接收数据长度
#defineRx_pw_p20x13//接收频道0接收数据长度
#defineRx_pw_p30x14//接收频道0接收数据长度
#defineRx_pw_p40x15//接收频道0接收数据长度
#defineRx_pw_p50x16//接收频道0接收数据长度
#defineFiFo_status0x17//FiFo栈入栈出状态寄存器设置
//**************************************************************************************
voiddelay(unsignedints);
voidinerdelay_us(unsignedcharn);
voidinit_nRF24l01(void);
uintspi_Rw(uintuchar);
ucharspi_Read(ucharreg);
voidsetRx_mode(void);
uintspi_Rw_Reg(ucharreg,ucharvalue);
uintspi_Read_buf(ucharreg,uchar*pbuf,ucharuchars);
uintspi_write_buf(ucharreg,uchar*pbuf,ucharuchars);
unsignedcharnRF24l01_Rxpac
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- nrf24l01 通讯 协议