搜索
bottom↓
回复: 112

经过几天的奋斗,nrf24l01多对一终于成功了(4对1)

  [复制链接]

出0入0汤圆

发表于 2012-9-7 16:18:19 | 显示全部楼层 |阅读模式
将近一周时间,nrf24l01终于调好了,4对1。中间从一对一到二对一,二对一到三对一比较难做。三对一之后再扩展到6对1都一样了
我做的只是简单的。主接收控制一个led。收到不同的通道数据显示不同位置的led,主机查询接收。呵呵,谁有多对一调通的,互相交流一下吧

出0入0汤圆

 楼主| 发表于 2012-9-7 16:19:42 | 显示全部楼层

刚接触nrf24l01,大多数资料网上都有,希望谁能提供一些独家资料,谢谢了

出0入0汤圆

发表于 2012-9-7 16:25:02 | 显示全部楼层
交流都没有资料啊

出0入0汤圆

发表于 2012-9-7 16:26:22 | 显示全部楼层
说说思路吧

出0入0汤圆

 楼主| 发表于 2012-9-7 16:29:14 | 显示全部楼层
不好意思,程序我还在继续优化,现在连自动应答都没敢用,怕通信失败。等优化的差不多了,一定奉献给大家

出0入0汤圆

 楼主| 发表于 2012-9-7 16:31:22 | 显示全部楼层
我是从收发一体做的,然后拆成一对一收发(一只收,一只发)。然后做了二对一,在做三对一,做过三对一之后,下边就一样了。因为有五个nrf24l01模块,就做到4对1.

出0入0汤圆

 楼主| 发表于 2012-9-7 16:32:16 | 显示全部楼层
现在程序只发一个字节,下边要继续调整,添加传感器

出0入0汤圆

发表于 2012-9-7 17:59:23 | 显示全部楼层
楼主加油

出0入0汤圆

发表于 2012-9-7 18:05:15 | 显示全部楼层
我做的是自适应跳频,改天传上来。

出0入0汤圆

 楼主| 发表于 2012-9-7 19:32:02 | 显示全部楼层
wuyuehang 发表于 2012-9-7 18:05
我做的是自适应跳频,改天传上来。

先把确定能用的接收一体程序给大家

出0入0汤圆

 楼主| 发表于 2012-9-7 19:33:36 | 显示全部楼层
先把确定能用的接收一体程序给大家,如果用这个程序调不出来,找硬件原因

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2012-9-7 19:35:44 | 显示全部楼层
wuyuehang 发表于 2012-9-7 18:05
我做的是自适应跳频,改天传上来。

你好,可不可以说一下思路,谢谢了

出0入0汤圆

发表于 2012-9-7 19:58:45 | 显示全部楼层
看看。手上只 有2个nrf2401

出0入0汤圆

发表于 2012-9-7 20:02:30 | 显示全部楼层
wuyuehang 发表于 2012-9-7 18:05
我做的是自适应跳频,改天传上来。

先谢过

nrf24l 跳频

出0入0汤圆

发表于 2012-9-7 20:34:17 | 显示全部楼层
不爱吃鱼 发表于 2012-9-7 19:32
先把确定能用的接收一体程序给大家

改天单独开个帖子,写了很多歌版本,因为这几天导师手里有个项目着急完成。请大家不要着急。
nrf是7月末调的。

出0入0汤圆

发表于 2012-9-7 20:53:48 | 显示全部楼层
多对一很好做,建议你做到5通道,保留1通道。。

出0入0汤圆

发表于 2012-9-9 01:50:41 | 显示全部楼层
你好,能不能把你二对一的程序给我看看!!!!!!!!!!我这几天也在弄,一对一可以,但是二对一就是不行。我想问一下,两个都在发射,接收是先接收哪个通道的?

出0入0汤圆

发表于 2012-9-9 12:04:21 | 显示全部楼层
不爱吃鱼 发表于 2012-9-7 19:33
先把确定能用的接收一体程序给大家,如果用这个程序调不出来,找硬件原因 ...

一直想找个能用的,感谢分享

出0入0汤圆

 楼主| 发表于 2012-9-9 14:23:23 | 显示全部楼层
藤原拓海 发表于 2012-9-9 01:50
你好,能不能把你二对一的程序给我看看!!!!!!!!!!我这几天也在弄,一对一可以,但是二对一就是不 ...

可以检测状态寄存器,
if(RX_DR==0)  
{
sta=SPI_Read(READ_REG+STATUS);//读状态寄存器
delayms(1);
RX_P_NO=sta&0x0e;
switch(RX_P_NO)//判断通道
{
        case 0x00:if(K1==0) xianshi();break;
        case 0x02:if(K2==0) P0=RxBuf[1];break;
        case 0x04:if(K3==0) P0=RxBuf[2];break;
        case 0x06:if(K4==0) P0=RxBuf[3];break;
        default:break;
}
本人比较笨,只想到了这个方法,查询,呵呵

出0入0汤圆

 楼主| 发表于 2012-9-9 14:30:28 | 显示全部楼层
昨天宿舍聚餐,喝多了,没什么进展。现在进度是:接收主机按下不同按键,程序接收不同通道数据。通道0发送加入了DHT11温湿度传感器,数码管显示。主机P2^7通过高低电平,选择数码管显示温度还是湿度。下边是多对一的程序。
现在兑现诺言,
发给大家,
互相交流

出0入0汤圆

 楼主| 发表于 2012-9-9 14:31:27 | 显示全部楼层
大家多提提思路,指导一下。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2012-9-9 14:32:33 | 显示全部楼层
藤原拓海 发表于 2012-9-9 01:50
你好,能不能把你二对一的程序给我看看!!!!!!!!!!我这几天也在弄,一对一可以,但是二对一就是不 ...

有什么好思路分享一下

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2012-9-20 14:55:13 | 显示全部楼层
不爱吃鱼 发表于 2012-9-9 14:32
有什么好思路分享一下

您好,节点1、2、3同时发的时候,你是怎么提取出来的?它应该会有碰撞啊?还有,你有没有听说主机发广播同步信号?这样子,不发送的时候可以休眠,降低功耗。

出0入0汤圆

发表于 2012-9-27 09:22:06 | 显示全部楼层
谢谢分享~~~

出0入0汤圆

发表于 2012-10-3 22:40:45 | 显示全部楼层
谢谢分享!

出0入0汤圆

发表于 2012-10-3 23:43:59 | 显示全部楼层
以前搞24l01,三对一搞得不好。。

出0入0汤圆

 楼主| 发表于 2012-10-6 20:08:50 | 显示全部楼层
cute_shen 发表于 2012-9-20 14:55
您好,节点1、2、3同时发的时候,你是怎么提取出来的?它应该会有碰撞啊?还有,你有没有听说主机发广播 ...

19楼,查看通道号

出0入0汤圆

发表于 2012-11-14 22:06:44 | 显示全部楼层
能不能留下个qq号,我正好也做这个遇到困难了,和你交流一下

出0入0汤圆

发表于 2012-11-15 13:36:29 | 显示全部楼层
这个得好好学习一下。。。。。。。。。。。。。。

出0入0汤圆

发表于 2012-11-15 14:09:25 | 显示全部楼层
看看,得学习一下

出0入0汤圆

发表于 2012-11-15 14:25:57 | 显示全部楼层
谢谢。学习下。

出0入0汤圆

发表于 2012-11-15 15:19:04 | 显示全部楼层
再看看》。。。。。

出0入0汤圆

发表于 2013-4-8 07:13:52 | 显示全部楼层
我用的是stc11f16xe,加收发一体程序,通讯无反应!请问楼主stc可直接用吗?要改哪里吗?谢谢

出0入0汤圆

发表于 2013-4-8 07:47:17 | 显示全部楼层
mark,nrf2401

出0入0汤圆

发表于 2013-4-9 11:29:58 | 显示全部楼层
兄弟,能不能短个qq号,有问题想请教一下,多谢了

出0入0汤圆

发表于 2013-4-12 10:35:19 | 显示全部楼层
楼主你好,我也在做多对一的程序,为什么“从一对一到二对一,二对一到三对一比较难做。三对一之后再扩展到6对1都一样了”?一对一到多对一不是只需要修改接收节点的EN_AA寄存器和EN_RXADDR寄存器就可以了吗?

出0入0汤圆

发表于 2013-5-15 12:18:02 | 显示全部楼层
dexidz 发表于 2013-4-8 07:13
我用的是stc11f16xe,加收发一体程序,通讯无反应!请问楼主stc可直接用吗?要改哪里吗?谢谢
...

可以的,我是STC12C5A60S2,用了收发一体,调通了
环境:11.0952MHZ
无逻辑电平转换,直接上IO

出0入0汤圆

发表于 2013-5-15 13:19:41 | 显示全部楼层
bbssilverkey 发表于 2013-5-15 12:18
可以的,我是STC12C5A60S2,用了收发一体,调通了
环境:11.0952MHZ
无逻辑电平转换,直接上IO

谢谢,我已经也调通了。
时序上的事

出0入0汤圆

发表于 2013-5-16 01:27:06 | 显示全部楼层
深夜学习~~~~~~~~~~~

出0入0汤圆

发表于 2013-5-16 13:53:10 | 显示全部楼层
不爱吃鱼 发表于 2012-9-7 19:33
先把确定能用的接收一体程序给大家,如果用这个程序调不出来,找硬件原因 ...

大哥,我收发一体,那个调试的时候就是LED移位,我怎么知道他接收了没有?

出0入0汤圆

发表于 2013-7-10 10:17:27 | 显示全部楼层
我也在做一对多

出0入0汤圆

发表于 2013-7-10 11:01:27 | 显示全部楼层
顶。。。。。。。。。

出0入0汤圆

发表于 2013-7-10 11:25:45 | 显示全部楼层
是多通道?还是点对点?

出0入0汤圆

发表于 2013-7-14 17:59:00 | 显示全部楼层
谢谢楼主!!过段时间也要做这个模块,我们做的是要一发6收的!

出0入0汤圆

发表于 2013-7-19 12:51:59 | 显示全部楼层
之前在做一对一,现在想做多对一了,多谢楼主分享

出0入0汤圆

发表于 2013-8-14 20:09:28 来自手机 | 显示全部楼层
mark……
顶一个…

出0入0汤圆

发表于 2013-8-14 22:16:24 | 显示全部楼层
谢谢楼主 刚好在调这个

出0入0汤圆

发表于 2013-8-14 22:22:07 | 显示全部楼层
支持一下!!!!!!!楼主加油!!!!!

出0入0汤圆

发表于 2013-8-17 19:31:32 | 显示全部楼层
本帖最后由 Eric-8 于 2013-8-17 19:36 编辑

我一直编译失败!!!
uchar Rx_Packet(uchar *s_temp)                //读取的数据放入s_temp中
{       
        uchar revale=0;
        uchar s_bai,s_shi,s_ge,s_yi,s_er;
        sta=SPI_Read(READ_REG+STATUS);         // 读取状态寄存其来判断数据接收状况
        if(RX_DR)                                            // 判断是否接收到数据
        {
                CE=0;                //片选使能 待机
                SPI_Read_Buf(R_RX_PLOAD,s_temp,RX_PLOAD_WIDTH);
                revale=1;       
        //        delay(1000);
        }   
               SPI_RW_Reg(WRITE_REG+STATUS,sta); //接收到数据后RX_DR,TX_DS,MAX_PT都置高为1,通过写1来清除中断标志                                                //???????????
        CSN=0;
        SPI_RW(FLUSH_RX);
        CSN=1;
        }
        return revale;
}
sta那行一直是  error C141: syntax error near ';'     
实在想不通啊! 还有清除中断那里,有的用0xff,有的用sta, 求解释...

求指点!
万分感谢!!!

出0入0汤圆

发表于 2013-8-18 10:17:58 | 显示全部楼层
最近也在搞,学习了……

出0入0汤圆

发表于 2013-8-29 22:54:07 | 显示全部楼层
不爱吃鱼 发表于 2012-9-9 14:32
有什么好思路分享一下

mark,正好最近用得着,感谢楼主

出0入0汤圆

发表于 2013-12-27 21:12:15 | 显示全部楼层
不爱吃鱼 发表于 2012-9-9 14:23
可以检测状态寄存器,
if(RX_DR==0)  
{



case那边
请问为什么是0,2,4,6,不是0,1,2,3? 设置的通道不是0,1,2,3 吗?

出0入0汤圆

发表于 2014-1-3 21:43:02 | 显示全部楼层
楼主厉害 有人搞过不同单片机通信的吗

出0入0汤圆

发表于 2014-3-18 15:52:57 | 显示全部楼层
支持一下

出0入0汤圆

发表于 2014-3-18 16:00:57 | 显示全部楼层
网址打不开啊

出0入0汤圆

发表于 2014-3-18 19:58:06 | 显示全部楼层
火前线留个名再说

出0入0汤圆

发表于 2014-3-25 13:21:36 | 显示全部楼层
STC15L104W

出0入0汤圆

发表于 2014-3-25 20:59:34 | 显示全部楼层
谢谢楼主分享!不知楼主硬件电路是什么?

出0入0汤圆

发表于 2014-3-31 21:54:07 | 显示全部楼层
淡定淡定,且行且学

出0入0汤圆

发表于 2014-4-1 17:05:04 | 显示全部楼层
现在正想研究一下,请交流交流。

出0入0汤圆

发表于 2014-4-14 17:36:41 | 显示全部楼层
收藏了了

出0入0汤圆

发表于 2014-4-15 14:39:15 | 显示全部楼层
帮忙顶一下

出0入0汤圆

发表于 2014-4-29 11:24:00 | 显示全部楼层
先下来试试我的硬件有没有问题,谢谢

出0入0汤圆

发表于 2014-4-29 13:10:55 | 显示全部楼层
wozai我在磨练中,很惨!

出0入0汤圆

发表于 2014-5-3 10:26:11 | 显示全部楼层
dammon 发表于 2014-1-3 21:43
楼主厉害 有人搞过不同单片机通信的吗

不同单片机也没问题,已经调通51和stm32间的通信,简单调了一下字符串的发送接收

出0入0汤圆

发表于 2014-5-3 10:43:09 | 显示全部楼层
最近正在学。。。这是第二天还在看资料中。。你们是怎么做的步骤

出0入0汤圆

发表于 2014-5-3 10:59:56 | 显示全部楼层
亲,咱们建个群一起讨论吧,楼主建个群我们加吧,这么多小伙伴讨论方便点

出0入0汤圆

发表于 2014-5-4 20:25:56 | 显示全部楼层
309368 发表于 2014-5-3 10:26
不同单片机也没问题,已经调通51和stm32间的通信,简单调了一下字符串的发送接收 ...

恩,不同单片机我也调试出来了,但是自己一直还有一个疑问,已经搁置很久没去解决了,现在想再提出来一下,,,就是 比如发送端按住按键发送数据,接收端接受到数据LED亮,那么我一直按住按键的时候LED确偶尔闪烁,不知道你是否知道怎么回事,能探讨一下吗?我的Q276278347

出0入0汤圆

发表于 2014-5-4 20:28:54 | 显示全部楼层
wangmengqiwo 发表于 2014-5-3 10:59
亲,咱们建个群一起讨论吧,楼主建个群我们加吧,这么多小伙伴讨论方便点 ...

不如你建咯!!!!!!!!!!

出0入0汤圆

发表于 2014-5-9 14:41:43 | 显示全部楼层
我们现在项目要做个无线传感器节点,又没有学过zigbee,只好用nrf2401试试,1对4不好弄啊

出0入0汤圆

发表于 2014-5-13 23:52:42 | 显示全部楼层
多谢楼主分享,我这几天也在做,3对1,传输3个节点的温湿度数据,感觉反应不是很灵敏~

出0入0汤圆

发表于 2014-5-26 16:21:34 | 显示全部楼层
学习学习

出0入0汤圆

发表于 2014-5-26 22:49:21 | 显示全部楼层
试试,收发一体自己没调成功,不知什么原因

出0入0汤圆

发表于 2014-5-28 12:49:01 | 显示全部楼层
正在研究中!!!

出0入0汤圆

发表于 2014-8-13 11:33:53 | 显示全部楼层
正好有用,下载了,谢谢

出0入0汤圆

发表于 2014-8-18 17:46:50 | 显示全部楼层
谢谢分享啊、。。。。学习中...

出0入0汤圆

发表于 2014-8-27 17:21:19 | 显示全部楼层
赞~~~~mark

出0入0汤圆

发表于 2014-8-27 22:08:18 | 显示全部楼层
学习交流中……

出0入0汤圆

发表于 2014-8-28 00:34:14 | 显示全部楼层
给楼主点赞!

出0入0汤圆

发表于 2014-8-29 23:01:51 | 显示全部楼层
正需要看看

出0入0汤圆

发表于 2014-9-9 16:36:52 | 显示全部楼层

出0入0汤圆

发表于 2014-9-10 17:40:44 | 显示全部楼层
不爱吃鱼 发表于 2012-9-9 14:32
有什么好思路分享一下

好东西,收了。谢谢分享!

出0入0汤圆

发表于 2014-9-14 13:25:06 | 显示全部楼层
来庆祝一下

出0入0汤圆

发表于 2014-9-24 23:26:16 | 显示全部楼层
资料全面,谢谢发帖。

出0入0汤圆

发表于 2014-9-24 23:49:42 | 显示全部楼层
mark!最近也在做这个项目!

出0入0汤圆

发表于 2014-9-24 23:52:34 | 显示全部楼层
谢谢分享!

出0入0汤圆

发表于 2014-10-29 15:23:07 | 显示全部楼层
太感谢你了,一对3的一直没弄好,终于解决了。

出0入0汤圆

发表于 2014-12-31 10:41:16 | 显示全部楼层
奇怪,我1对5咋不能反馈呢??

出0入0汤圆

发表于 2015-2-22 23:47:58 | 显示全部楼层
有没有汇编调通的程序?

出0入0汤圆

发表于 2015-3-28 16:55:48 | 显示全部楼层

出0入0汤圆

发表于 2015-3-30 11:30:53 | 显示全部楼层
其实楼主在发射数据的前面
加一组地址识别码
就可以区分了

出0入0汤圆

发表于 2015-3-30 11:44:26 | 显示全部楼层
,关注,这个很有用,顶贴支持,看LZ大作。

出0入0汤圆

发表于 2015-5-30 14:41:56 | 显示全部楼层
楼主 谢谢了 参考了你的4对一的程序 我完成了6对一   在配置通道2之后的通道接收地址,只能写进去一字节的地址,开始我还是像0,1一样去写5个字节地址,结果接收不到数据

出0入0汤圆

发表于 2015-6-2 21:58:18 | 显示全部楼层
谢谢分享!

出0入0汤圆

发表于 2015-8-14 18:58:48 | 显示全部楼层
谢啦!!☆⌒(*^-゜)v 谢谢分响,正好用的上

出0入0汤圆

发表于 2015-8-26 13:33:46 | 显示全部楼层
谢谢楼主,我好好研究研究您的程序。

出0入0汤圆

发表于 2015-9-6 17:46:24 | 显示全部楼层
谢谢分享!

出0入0汤圆

发表于 2015-9-10 22:45:07 | 显示全部楼层
感谢分享 分析了下你么做的原理

出0入0汤圆

发表于 2015-10-16 16:17:34 | 显示全部楼层
谢谢分享,仔细研究一下

出0入0汤圆

发表于 2015-10-18 15:17:41 | 显示全部楼层
谢谢楼主分享,
硬件怎么做的?直接用的收发模块还是自己搞的?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-19 10:14

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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