我最近学习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)中 难道不发送数据 它也能收到?求哪位大哥指点啊
|