野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10761|回复: 2

NRF24l01的问题

[复制链接]
发表于 2015-12-10 15:59:19 | 显示全部楼层 |阅读模式
主从机通信需要相同的地址宽度,但是若主机的发射地址是一个变量的话,还要不配置发射地址的宽度?不配置的话他们如何通信的?
  1. //接收模式
  2. void SetRX_Mode(void)
  3. {
  4.     SPI_CE_L();
  5.           NRF_Write_Reg(FLUSH_RX,0xff);//清除TX FIFO寄存器                         
  6.           NRF_Write_Buf(NRF_WRITE_REG+RX_ADDR_P0,(uint8_t*)RX_ADDRESS,RX_ADR_WIDTH);//写RX节点地址
  7.            NRF_Write_Reg(NRF_WRITE_REG+EN_AA,0x01);    //使能通道0的自动应答   
  8.           NRF_Write_Reg(NRF_WRITE_REG+EN_RXADDR,0x01);//使能通道0的接收地址           
  9.           NRF_Write_Reg(NRF_WRITE_REG+RF_CH,40);             //设置RF通信频率                  
  10.           NRF_Write_Reg(NRF_WRITE_REG+RX_PW_P0,RX_PLOAD_WIDTH);//选择通道0的有效数据宽度             
  11.           NRF_Write_Reg(NRF_WRITE_REG+RF_SETUP,0x0f);//设置TX发射参数,0db增益,2Mbps,低噪声增益开启   
  12.           NRF_Write_Reg(NRF_WRITE_REG+CONFIG, 0x0f);//配置基本工作模式的参数;PWR_UP,EN_CRC,16BIT_CRC,接收模式
  13.     SPI_CE_H();
  14.     //printf("NRF24L01 Set to Receiving Mode,RX_ADDR 0x%x...\r\n",RX_ADDRESS[4]);
  15. }
复制代码


QQ截图20151210155410.png
回复

使用道具 举报

发表于 2015-12-10 17:45:41 | 显示全部楼层
帮顶                  
回复 支持 反对

使用道具 举报

发表于 2016-5-7 15:12:19 | 显示全部楼层
长度得一样的,因为无线传数据 内部要做校验,地址长度不一样也不行
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-9-20 12:11 , Processed in 0.026455 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表