nRF24L01实现多通道通信的设置

上传人:ba****u 文档编号:133940950 上传时间:2022-08-11 格式:DOCX 页数:5 大小:10.55KB
返回 下载 相关 举报
nRF24L01实现多通道通信的设置_第1页
第1页 / 共5页
nRF24L01实现多通道通信的设置_第2页
第2页 / 共5页
nRF24L01实现多通道通信的设置_第3页
第3页 / 共5页
点击查看更多>>
资源描述
nRF24L01实现多通道通信的设置一、收发端共同的设置1、设置信道工作频率(发射端和接收端必须一致)如:SPI_RW_Reg(WRITE_REG + RF_CH,40);2、设置发射速率(2Mbps或1Mbps)和发射功率(收发必须一致);如:SPI_RW_Reg(WRITE_REG + RF_SETUP,OxOf); 发射速率为 2Mbps,发射功率最大为OdB二、接收端的设置(最关键)1、设置频道0-5,自动ACK应答允许如:SPI_RW_Reg(WRITE_REG + EN_AA,0x3f);2、设置接收通道全部允许如:SPI_RW_Reg(WRITE_REG + EN_RXADDR,0x3f);3、向发送地址寄存器写入本地地址(5 byte)4、向各个频道的接收地址寄存器写入接收地址(调试成不成功的关键)频道0: 5个字节的地址频道1: 5个字节的地址(和频道0的地址必须不同频道2: 1个字节的地址(为该通道发射机地址的第一个字节)如:有一个配置为发射模式的nRF24L01要通过该通道与接收机通信,发射机 的本地地址为0x37,0xa1,0xb3,0xc9,0xda;则接收机频道2的地址为(0x37)频道3: 1个字节的地址(同上)频道4: 1个字节的地址(同上)频道5: 1个字节的地址(同上)5、向各个频道接收数据长度寄存器写入接收数据宽度(最快均为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);三、发射端的设置1、向发送地址寄存器写入本地地址(5 byte)对发给接收机频道0的发射机:发射机本地地址必须和接收机写入该频道的接收 地址一致;对发给接收机频道1的发射机:发射机本地地址必须和接收机写入该 频道的接收地址一致;对发给接收机频道2的发射机:发射机本地地址的第1 个字节必须和接收机写入该频道的接收地址一致;后4个字节必须和接收机写 入频道1的接收地址的后4个字节一致;其他频道类同频道2;如:接收机地址如下:uchar RX_ADDRESS0RX_ADR_WIDTH二0x34,0x43,0x10,0x10,0x00; / 频道0接收地址uchar RX_ADDRESS1RX_ADR_WIDTH二0x35,0xa1,0xb3,0xc9,0xda; / 频道1接收地址uchar RX_ADDRESS21=0x36; /频道 2 接收地址 uchar RX_ADDRESS31=0x37; /频道 3 接收地址uchar RX_ADDRESS41=0x38; /频道 4 接收地址uchar RX_ADDRESS51=0x39; /频道 5 接收地址对发给接收机频道0的发射机:uchar TX_ADDRESSTX_ADR_WIDTH二0x34,0x43,0x10,0x10,0x00; / 本地地址对发给接收机频道1的发射机:uchar TX_ADDRESSTX_ADR_WIDTH= 0x35,0xa1,0xb3,0xc9,0xda; / 本地地址对发给接收机频道2的发射机:uchar TX_ADDRESSTX_ADR_WIDTH= 0x36,0xa1,0xb3,0xc9,0xda; / 本地地址对发给接收机频道3的发射机:uchar TX_ADDRESSTX_ADR_WIDTH= 0x37,0xa1,0xb3,0xc9,0xda; / 本地地址2、向接收地址寄存器写入接收地址(5 byte)均写接收机的本地地址3、设置为发送模式如:SPI_RW_Reg(WRITE_REG+CONFIG,0x0e);4、设置自动重发(可有可无)女如 SPI_RW_Reg(WRITE_REG + SETUP_RETR ,0x3f); /自动重发 15 次,等待最长时间如果一块设置为发送模式的nRF24L01与两块设为接收模式的 nRF24L01 通信,发送机的 TX_ADDRESSTX_ADR_WIDTH数组和 RX_ADDRESSRX_ADR_WIDTH数组的内容可以如下定义: uchar TX_ADDRESSTX_ADR_WIDTH= 0x01,0x02,0x03,0x04,0x00; 本地地址 uchar RX_ADDRESSRX_ADR_WIDTH = 0x00,0x00,0x00,0x00,0x00; 接收地址 在 uchar sen d(uchar Slave_NO,uchar *TxBuf)函数里的第一条语句: TX_ADDRESS4= Slave_NO;如果Slave_NO=0,那么从机的发送地址和接收地址设置情况为(从机 1)uchar TX_ADDRESSTX_ADR_WIDTH = 0x01,0x02,0x03,0x04,0x00; 本地地址 uchar RX_ADDRESSRX_ADR_WIDTH = 0x01,0x02,0x03,0x04,0x00; 接收地址 如果Slave_NO=1,那么从机的发送地址和接收地址设置情况为(从机 2)uchar TX_ADDRESSTX_ADR_WIDTH二0x01,0x02,0x03,0x04,0x01; 本地地址(主要是最后一项的0x01必 须设置好)uchar RX_ADDRESSRX_ADR_WIDTH =0x01,0x02,0x03,0x04,0x01; /妾收地址:第四个0x01 可以是 0x00)
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 机械制造 > 机械制造


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!