NRF24L01 无线模块 一对一发送,一对一接收,一与一收发,以及一对多发送,多对一发送,一与

2020-01-14 18:57发布

经过4到5天的学习, 终于把 NRF24L01 调通了, 之前是在论坛上看到 各位高人的 指点, 自己在 摸索了一下,
学习时间不长, 可能 还有许多 东西没搞懂, 还需要继续努力啊。 大家也来分享一下 自己的学习经历吧。

下面是我的程序, 希望对初学者 有所帮助!!热烈欢迎大侠们来指点下我的程序 哪里有不足的地方。
C程序  注释的 已经很清楚了。  

最后说说 我的一个问题吧,  就是一对多的数据传输问题。
我是采用广播的方式 好呢?  还是 按照 自己的程序里写的单点指定发送好?
我个人觉得  如果是广播方式,可以有N个接收设备。
            而单点指定发送,那么仅仅只能有6个接收设备,因为只能发送6个地址。
期盼大家来指点哦。
24L01函数ourdev_672677FN4BZY.rar(文件大小:1.03M) (原文件名:无线2401.rar)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
94条回答
lovelywwei
1楼-- · 2020-01-21 21:57
 精彩回答 2  元偷偷看……
steve_work
2楼-- · 2020-01-21 23:16
精力有限。支持了。
kunYJ
3楼-- · 2020-01-22 02:50
先mark
kunYJ
4楼-- · 2020-01-22 08:17
用了楼主的资料,不错,只想说想谢谢!!
kunYJ
5楼-- · 2020-01-22 10:09
楼主,你好!这里的通道号是怎么得来的阿。
/*************************接收数据*********************************************/
void GetDate()                                 
{
    unchar RX_P_NO;//接收通道号
        sta=NRFReadReg(R_REGISTER+STATUS);//发送数据后读取状态寄存器
    if(RX_DR)                                // 判断是否接收到数据
     {
           RX_P_NO=sta&0x0e;//获取通道号
           CE=0;//待机
           switch(RX_P_NO)
                {
                   case 0x00:NRFReadRxDate(R_RX_PAYLOAD,RevTempDate0,RX_DATA_WITDH);break;// 从RXFIFO读取数据通道0
                   case 0x02:NRFReadRxDate(R_RX_PAYLOAD,RevTempDate1,RX_DATA_WITDH);break;// 从RXFIFO读取数据通道1
如果要再增加一个通道2,怎么写,地址该设为什么。。望能指点,谢谢了!
lin2266286
6楼-- · 2020-01-22 10:44
 精彩回答 2  元偷偷看……

一周热门 更多>