nRF905点对多通信问题,求指导
主机向从机发送数据请求,从在收到请求后发送数据,主机在规定时间内不管收没有收到从机数据都跳到下一个从机。
现在的问题是从机能收到主机的数据请求指令,但不能返回数据给主机。
这是我的主机无线通信程序,TxPacket(x)是给从机x发送时数据请求。
void Communicate()
{
uchar x;
for(x=1;x<7;x++)
{
uint i=1000;
SetTxMode();
TxPacket(x);
SetRxMode();
while(!i)
{
if (DR)
RxPacket();
else
{
i--;
}
}
}
}
这个程序调试时主机老是收不到从机发回的数据,设过很多不同的i值都不行。
麻烦大家看看这程序该怎么改。或是有其它的通信方法麻烦告知一下,谢谢!
您好!我现在也遇到了和你当时一样的问题,就是主机可以发送出去,但是却收不到从机的返回数据,可以确定从机确实是发出来了。你当时是怎么解决的呢?麻烦了
void main()
{
init905();
Config905(); // Config nRF905 module
while(1)
{
SetTxMode(); // Set Tx Mode
TxPacket(); // Transmit Tx buffer data
SetRxMode();
//=====================等待NRF905接收
if (DR) // If recive data ready...
RxPacket(); // ... recive data
if(RxBuf[0]==0x01)
{
RxBuf[0] =0;
LED1 = 0 ;
Delay(1000); // ...light led
LED1 = 1 ;
Delay(500); // ...light led
}
}
}
