打印

求大神帮助 实在是想不通了!!!

[复制链接]
1588|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ZOU25513955|  楼主 | 2013-4-7 10:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
TE, ST, RF, nRF, AD
我最近学习nrf24l01模块  发现即使不发送(就是不开启发送模块) 接收模块也能收到数据

/*************************接收数据*********************************************/
void GetDate()                                 
{
        unchar i,j;
    sta=NRFReadReg(R_REGISTER+STATUS);//发送数据后读取状态寄存器
    if(RX_DR)                                // 判断是否接收到数据
     {
           j=0;
           led=j;
           CE=0;//待机
           NRFReadRxDate(R_RX_PAYLOAD,RevTempDate,RX_DATA_WITDH);// 从RXFIFO读取数据 接收4位即可,后一位位结束位        
           NRFWriteReg(W_REGISTER+STATUS,sta); //接收到数据后RX_DR,TX_DS,MAX_PT都置高为1,通过写1来清楚中断标         
           CSN=0;
           NRFSPI(FLUSH_RX);//用于清空FIFO !!关键!!不然会出现意想不到的后果!!!大家记住!!
           CSN=1;
               for(i=0;i<4;i++)
           {
                           R_S_Byte(RevTempDate[i]);        
                           NRF_usDelay(10000);
           }
           j=1;
           led=j;                 
     }
}

我看到led会一直闪 而且串口接收到数据 说明进入了 if(RX_DR)中  难道不发送数据 它也能收到?求哪位大哥指点啊

相关帖子

沙发
梅长苏| | 2013-4-7 11:29 | 只看该作者

使用特权

评论回复
板凳
rgh111| | 2013-4-7 22:28 | 只看该作者
估计是电磁空间有干扰吧,你没发,可以别人在发啊,如果做控制的话最好数据以帧的形式发送,加上数据校验算法;P

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

5

帖子

0

粉丝