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

[复制链接]
2039|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

粉丝
快速回复 在线客服 返回列表 返回顶部