最近一直在做Zigbee的星型网络的组网试验,由于时间的原因,现在只是在最高的应用层上来编写程序。即协议栈的程序是2430的开发商(无限龙)编写的,我只是调用相应的函数来完成组网的,星型网络组网部分的程序段主要的就是以下程序,关键的部分我已经做了注释,大家可以看一下,不对的地方大家多多讨论(xywatersky@yahoo.cn)
ifdef LRWPAN_COORDINATOR
//****************************************************
//协调器组网程序段
//****************************************************
aplFormNetwork();
while(apsBusy()) {apsFSM();} //等待组网完成
ClearScreen();
Print6(2,3,"Network formed!",1);
#else
do //节点加入网络
{
//********************************************
//节点加入网络程序段
//********************************************
aplJoinNetwork();
while(apsBusy()) {apsFSM();} //等待节点加入网络
if (aplGetStatus() == LRWPAN_STATUS_SUCCESS)
{
ClearScreen();
Print6(2,3,"Network Join succeed!",1);
break;
}
else//节点加入网络失败
{
ClearScreen();
halWait(100);
Print6(2,3,"Network Join FAILED! ",1);
Print6(3,3,"Waiting, then trying",1);
Print6(4,3,"again!",1);
my_timer= halGetMACTimer();
//2秒钟时间等待
while ((halMACTimerNowDelta(my_timer))< MSECS_TO_MACTICKS(2*1000));
}
} while(1);
#endif
|