TI中文支持网
TI专业的中文技术问题搜集分享网站

ZStack每级的最大路由器个数问题

我有个疑问,还请论坛的高手帮忙解答下,谢谢。

在ZStack的nwk_globals.c文件里面有如下定义:

#if ( STACK_PROFILE_ID == ZIGBEEPRO_PROFILE )
  uint8 CskipRtrs[1] = {0};
  uint8 CskipChldrn[1] = {0};
#elif ( STACK_PROFILE_ID == HOME_CONTROLS )
  uint8 CskipRtrs[MAX_NODE_DEPTH+1] = {6,6,6,6,6,0};
  uint8 CskipChldrn[MAX_NODE_DEPTH+1] = {20,20,20,20,20,0};
#elif ( STACK_PROFILE_ID == GENERIC_STAR )
  uint8 CskipRtrs[MAX_NODE_DEPTH+1] = {5,5,5,5,5,0};
  uint8 CskipChldrn[MAX_NODE_DEPTH+1] = {5,5,5,5,5,0};
#elif ( STACK_PROFILE_ID == NETWORK_SPECIFIC )
  uint8 CskipRtrs[MAX_NODE_DEPTH+1] = {5,5,5,5,5,0};
  uint8 CskipChldrn[MAX_NODE_DEPTH+1] = {5,5,5,5,5,0};
#endif // STACK_PROFILE_ID

如果是HOME_CONTROLS时,默认的路由深度为5级,每级最多的路由节点数为6.

那如果profile为ZIGBEEPRO_PROFILE时,每级的最大路由节点数怎么确定呢?

还有ZStack里面的这个宏定义:#define NWK_MAX_ROUTERS           6也是表示每级最大路由器节点数为6,那这个宏与前面的数组有什么关系呢?

我实际测试:STACK_PROFILE_ID == ZIGBEEPRO_PROFILE的情况下,网络中有70多个路由器,协调器下就挂了18个路由器。从这个现象看#define NWK_MAX_ROUTERS           6这个宏定义好像没有作用。而且这种profile下的 路由器和子节点数组定义如下:

  uint8 CskipRtrs[1] = {0};
  uint8 CskipChldrn[1] = {0};

这是什么原因呢?

bx da:

回复 VV:

VV你好,

谢谢你的解答,我现在用的协议栈版本是2.5.1.a,那是不是这个宏定义#define NWK_MAX_ROUTERS           6已经没有作用呢?

从下面这段代码看:

#if ( STACK_PROFILE_ID == ZIGBEEPRO_PROFILE )  uint8 CskipRtrs[1] = {0};  uint8 CskipChldrn[1] = {0};#elif ( STACK_PROFILE_ID == HOME_CONTROLS )  uint8 CskipRtrs[MAX_NODE_DEPTH+1] = {6,6,6,6,6,0};  uint8 CskipChldrn[MAX_NODE_DEPTH+1] = {20,20,20,20,20,0};#elif ( STACK_PROFILE_ID == GENERIC_STAR )  uint8 CskipRtrs[MAX_NODE_DEPTH+1] = {5,5,5,5,5,0};  uint8 CskipChldrn[MAX_NODE_DEPTH+1] = {5,5,5,5,5,0};#elif ( STACK_PROFILE_ID == NETWORK_SPECIFIC )  uint8 CskipRtrs[MAX_NODE_DEPTH+1] = {5,5,5,5,5,0};  uint8 CskipChldrn[MAX_NODE_DEPTH+1] = {5,5,5,5,5,0};#endif // STACK_PROFILE_ID

是不是我把STACK_PROFILE_ID设置为HOME_CONTROLS每个路由器下能挂载的最大路由器个数为6,最多设备数为20,MAX_NODE_DEPTH为5?

如果STACK_PROFILE_ID设置为ZIGBEEPRO_PROFILE,这些数组定义和NWK_MAX_ROUTERS就没有作用了?

VV:

回复 bx da:

是的 没有作用的

wei zhang34:

回复 VV:

为什么我的程序里边连了16个就不行了  我的NWK_MAX_DEVICE_LIST就是20

天空:

回复 wei zhang34:

可能是AssociatedDevList满了

chiyuchen chiyuchen:

回复 VV:

最大路由级数一般多少合理?

one Man:

回复 VV:

VV,你好!

如果STACK_PROFILE_ID设置为ZIGBEEPRO_PROFILE话,能否设置每级EndDevice和Router的数量,我担心设备太多时,End把所有位置都占了,导致Router入不了网。

赞(0)
未经允许不得转载:TI中文支持网 » ZStack每级的最大路由器个数问题
分享到: 更多 (0)