野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10521|回复: 4

火哥,怎么增加NRF24L01的传输距离呢?我的有效距离只有两米。

[复制链接]
发表于 2014-5-10 12:41:36 | 显示全部楼层 |阅读模式
怎么增加NRF24L01的传输距离呢?我的有效距离只有两米以内。我查了下说可以加天线和调增益。怎么设置比较好呢?

void NRF_TX_Mode(void)
{  
        NRF_CE_LOW();               

   SPI_NRF_WriteBuf(NRF_WRITE_REG+TX_ADDR,TX_ADDRESS,TX_ADR_WIDTH);    //写TX节点地址

   SPI_NRF_WriteBuf(NRF_WRITE_REG+RX_ADDR_P0,RX_ADDRESS,RX_ADR_WIDTH); //设置TX节点地址,主要为了使能ACK   

   SPI_NRF_WriteReg(NRF_WRITE_REG+EN_AA,0x01);     //使能通道0的自动应答   

   SPI_NRF_WriteReg(NRF_WRITE_REG+EN_RXADDR,0x01); //使能通道0的接收地址  

   SPI_NRF_WriteReg(NRF_WRITE_REG+SETUP_RETR,0x1a);//设置自动重发间隔时间:500us + 86us;最大自动重发次数:10次

   SPI_NRF_WriteReg(NRF_WRITE_REG+RF_CH,CHANAL);       //设置RF通道为CHANAL


   SPI_NRF_WriteReg(NRF_WRITE_REG+RF_SETUP,0x0f);  //设置TX发射参数,0db增益,2Mbps,低噪声增益开启   
       
   SPI_NRF_WriteReg(NRF_WRITE_REG+CONFIG,0x0e);    //配置基本工作模式的参数WR_UP,EN_CRC,16BIT_CRC,发射模式,开启所有中断


回复

使用道具 举报

发表于 2014-5-10 14:17:06 来自手机 | 显示全部楼层
默认我们的例程也不至于这么近啊,是我们的模块吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-10 14:54:57 | 显示全部楼层
山外メ雲ジ 发表于 2014-5-10 14:17
默认我们的例程也不至于这么近啊,是我们的模块吗?

模块是淘宝上买的,程序是我模仿你们写的温度采集,数据通过NRF24L01传送。估计是模块的问题,唉,水货。我想了解一下有没有办法增加传输距离?没有就只能换模块了,淘宝上的模块都不知道哪些真,哪些假。
回复 支持 反对

使用道具 举报

发表于 2014-5-10 17:16:08 | 显示全部楼层
hao 发表于 2014-5-10 14:54
模块是淘宝上买的,程序是我模仿你们写的温度采集,数据通过NRF24L01传送。估计是模块的问题,唉,水货。 ...

我们的模块一般是10米内都行的,更远的,需要是带PA的无线模块
回复 支持 反对

使用道具 举报

发表于 2016-5-7 15:42:56 | 显示全部楼层
24L01距离太近了,简单玩玩就行,想用24L01做产品还是要慎重选择 多测测再决定是否批量
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-18 12:43 , Processed in 0.028692 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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