OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4290|回复: 5

nrf24l01进行多对一传输产生的冲突怎么解决?

[复制链接]

21

主题

80

帖子

0

精华

高级会员

Rank: 4

积分
633
金钱
633
注册时间
2018-3-16
在线时间
105 小时
发表于 2019-7-11 11:26:10 | 显示全部楼层 |阅读模式
我现在进行一个项目,多个nrf24l01不定时地对一个nrf24l01进行数据传输,会存在一个nrf24l01没有传输完成的情况下,另一个nrf24l01也进行数据传输,这时产生的冲突应该怎么办?请各位大神解答!!!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

16

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2019-8-11
在线时间
3 小时
发表于 2019-8-18 19:24:07 | 显示全部楼层
我们目前在用这块,做到了255发送1个接收。
回复 支持 反对

使用道具 举报

21

主题

80

帖子

0

精华

高级会员

Rank: 4

积分
633
金钱
633
注册时间
2018-3-16
在线时间
105 小时
 楼主| 发表于 2019-8-19 09:39:17 | 显示全部楼层
qdzx 发表于 2019-8-18 19:24
我们目前在用这块,做到了255发送1个接收。

那请问你们是怎么解决同时发送时产生的干扰呢?
回复 支持 反对

使用道具 举报

3

主题

16

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2019-8-11
在线时间
3 小时
发表于 2019-8-19 12:39:07 | 显示全部楼层
lookae 发表于 2019-8-19 09:39
那请问你们是怎么解决同时发送时产生的干扰呢?

每一个发送设定地址,地址就是给24L01写了一个频,他是2.4G-2.525G.如果你细心一点可以实现出1对万级别,但实际应用中不能这么做,接收承受不了这么多的数据,我给你一串代码,你看看flash_read_addr(addr_buf);
       
//ED_ADDRESS[1] = addr_buf[2];
//ED_ADDRESS[2] = addr_buf[3];
//RF_CHANNLE = addr_buf[1];
//TX_ADDRESS[4] = addr_buf[1];

        ED_ADDRESS[1] = 0x00;
        ED_ADDRESS[2] = 0x01;
        RF_CHANNLE = 0x0A;
        TX_ADDRESS[4] = 0x0A;

        NRF24L01_Init();
       
        Task_Create();
回复 支持 反对

使用道具 举报

21

主题

80

帖子

0

精华

高级会员

Rank: 4

积分
633
金钱
633
注册时间
2018-3-16
在线时间
105 小时
 楼主| 发表于 2019-8-19 14:31:26 | 显示全部楼层
qdzx 发表于 2019-8-19 12:39
每一个发送设定地址,地址就是给24L01写了一个频,他是2.4G-2.525G.如果你细心一点可以实现出1对万级别, ...

那最终是怎么解决冲突的呢?
回复 支持 反对

使用道具 举报

34

主题

255

帖子

0

精华

高级会员

Rank: 4

积分
912
金钱
912
注册时间
2019-7-5
在线时间
189 小时
发表于 2019-12-23 10:19:01 | 显示全部楼层
请问楼主解决了吗
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 22:16

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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