当前位置: 代码迷 >> 单片机 >> nRF905点对多通信有关问题
  详细解决方案

nRF905点对多通信有关问题

热度:157   发布时间:2016-04-28 14:55:52.0
nRF905点对多通信问题
要用做一个1对6无线测温系统,我想用轮询的方式实现。
主机向从机发送数据请求,从在收到请求后发送数据,主机在规定时间内不管收没有收到从机数据都跳到下一个从机。
现在的问题是从机能收到主机的数据请求指令,但不能返回数据给主机。
这是我的主机无线通信程序,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值都不行。。
麻烦大家看看这程序该怎么改。或是有其它的通信方法麻烦告知一下,谢谢!
------解决方案--------------------
中间等待从机回复的时间太短了~~建议楼主先调同一台主机轮询一台从机~~
  相关解决方案