求助NRF24L01一发多收(广播)的问题

2019-07-18 15:43发布

本人现在在用NRF24L01这款模块,用单片机(avr)控制无线模块,想法是通过单片机I/O口来控制无线模块的SPI口,想实现主机发送音频数据,并且有多个接收方(接收方也是通过单片机来控制无线模块)可以实现同步接收。

现在的问题主要是:1.我看了文档,NRF在接收模式时,可以接收六个信道的,不过这是多对一的。我现在想让多个接收方同步接收发送方发来的数据(一对多的),怎么来实现?在程序里控制吗?
2.发送方发送数据和本机地址,那多个接收方除了频率设置一样之外,地址需要设置成一样的还是根本就不用设置地址?才能实现同步接收。接收方收到数据后,应该给发送方响应一下吧,这样会影响同步这一问题吗?如果有影响可不可以设置成不让其响应,怎么设置呢
3.语音信号的读入,语音信号如何当做数据读入呢?我在想如果是数字信号就应该可以读入了,模拟信号通过AD变换,读入,之后再DA一下,不知可否实现呢?

不好意思,各位大侠,本人菜鸟,还没有到入门地步,可能上述的问题有不严谨的,请指教,多谢你们在百忙之中可以帮助我。多谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
Hontery
1楼-- · 2019-07-18 16:24
同求,不知道楼主一对多做出来没有,请教一下啊
superkensou
2楼-- · 2019-07-18 17:06
其实你自个儿在TxBuf里面做个协议就可以了。
不知道你用什么主芯片。
给你个可以参考的思路:
给每个Slave一个ID(当然,所有的Slave都是相同的地址),
Master在发送的时候,TxBuf第一个字节就为Slave的ID。
可以简单处理,比如ID="ALL"即为所有的Slave都接收。
因为链路层在nRF芯片里面就做好了,所以太复杂的广播是芯片本身没法提供的。
所以在应用层实现一层也是不错的方式。
摘星揽月111
3楼-- · 2019-07-18 20:45
 精彩回答 2  元偷偷看……

一周热门 更多>