欢迎来到天天文库
浏览记录
ID:62024776
大小:22.70 KB
页数:6页
时间:2021-04-14
《NRF24L01多路通讯调试成功的关键--附程序.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、NRF24L01多路通讯调试成功的关键(附基于串口助手的无线通讯工具源代码)本文档部分内容摘自网络,由于按照网上教程调试总不成功,特此分享自己的失败经验(红字加重)。一、收发端共同的设置1、设置信道工作频率(收发必须一致)如:SPI_RW_Reg(WRITE_REG+RF_CH,40);2、设置发射速率(2mbps或1mbps)和发射功率(收发必须一致);如:SPI_RW_Reg(WRITE_REG+RF_SETUP,0x0f);//发射速率为2Mbps,发射功率最大为0dB二、接收端的设置(最关键)1、设置频道0-5,自动ACK应答允许如:SPI_RW_Reg(WRI
2、TE_REG+EN_AA,0x3f);2、设置接收通道全部允许如:SPI_RW_Reg(WRITE_REG+EN_RXADDR,0x3f);3、向发送地址寄存器写入本地地址(5byte)4、向各个频道的接收地址寄存器写入接收地址(调试成不成功的关键)频道0:5个字节的地址频道1:5个字节的地址(和频道0的地址必须不同)频道2:1个字节的地址(为该通道发射机地址的最后一个字节·)有一个配置为发射模式的24l01要通过该通道与接收机通信,发射机的本地地址为{0x37,0xa1,0xb3,0xc9,0xda};则接收机频道2的地址为(0x37)频道3:1个字节的地址(同上)频
3、道4:1个字节的地址(同上)频道5:1个字节的地址(同上)5、向每个频道(用那个写那个,需要在上面配置允许通道接收和ack·)接收数据长度寄存器写入接收数据宽度(最快均为32)频道n:SPI_RW_Reg(WRITE_REG+RX_PW_Pn,RX_PLOAD_WIDTH);如:频道5:SPI_RW_Reg(WRITE_REG+RX_PW_P5,RX_PLOAD_WIDTH);6、配置为接收模式如:SPI_RW_Reg(WRITE_REG+CONFIG,0x0f);下面附上我的程序/***************************头文件**************
4、****************/#ifndef__NRF24L01_H__#define__NRF24L01_H__sbitCE=P1^2;sbitCSN=P1^3;sbitIRQ=P1^4;sbitMOSI=P1^5;sbitMISO=P1^6;sbitSCK=P1^7;voidNRF24L01_init();//初始化模块ucharTX_packet(uchar*tx_buf);//返回值判断是否成功ucharRX_packet(uchar*rx_buf);//返回值判断是否成功voidTX_MODE();//发送模式voidRX_MODE();//接收模式//*
5、***************************************************************////SPI(nRF24L01)commands#defineREAD_REG0x00//Definereadcommandtoregister#defineWRITE_REG0x20//Definewritecommandtoregister#defineRD_RX_PLOAD0x61//DefineRXpayloadregisteraddress#defineWR_TX_PLOAD0xA0//DefineTXpayloadregistera
6、ddress#defineFLUSH_TX0xE1//DefineflushTXregistercommand#defineFLUSH_RX0xE2//DefineflushRXregistercommand#defineREUSE_TX_PL0xE3//DefinereuseTXpayloadregistercommand#defineNOP0xFF//DefineNoOperation,mightbeusedtoreadstatusregister//***************************************************////SPI
7、(nRF24L01)registers(addresses)#defineCONFIG0x00//'Config'registeraddress#defineEN_AA0x01//'EnableAutoAcknowledgment'registeraddress#defineEN_RXADDR0x02//'EnabledRXaddresses'registeraddress#defineSETUP_AW0x03//'Setupaddresswidth'registeraddress#defineSETUP_RETR0x04//'Setup
此文档下载收益归作者所有