微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > 自建绑定表被zstack 删除 的问题?

自建绑定表被zstack 删除 的问题?

时间:10-02 整理:3721RD 点击:

有两个设备, 一个是协调器灯, 一个是终端设备开关。

想实现 开关入网后 自动在本地端建立绑定表(协调器的EP 是固定的), 代码放置在应用层的loop   ZDO_STATE_CHANGE 中

if(zclSampleswitch_NwkState == DEV_END_DEVICE)
{
建立 自定义绑定表

static uint16 BindClusterIds[] = { ZCL_CLUSTER_ID_GEN_ON_OFF };
  zAddrType_t ZC_DstAddr;
  ZC_DstAddr.addrMode = Addr16Bit;
  ZC_DstAddr.addr.shortAddr = 0x0000;
  
  bindAddEntry( SAMPLEswitch_ENDPOINT,&ZC_DstAddr,
                          SAMPLELIGHT_ENDPOINT,1, BindClusterIds );  
}

但是多次试验发现, 如果 自定义的绑定 是在收到 transport key 前建立, 那么 收到transport key 之后 就会被擦除, 用该绑定地址发消息 是发不出去的

如果做个延时,尽量等收到transport key 之后 再建立 绑定表, 那么后续就可以用该绑定地址发消息~~~~

请问 zstack中 收到transport key 是否会自动删除 所有的绑定表信息~~~?具体在代码哪里? 能否修改?

还是必须延时 处理?



这个还没遇到过,坐等VV解答了!

估计 只有两个可能,

1.  要么zstack 的flash 有问题 ?

2,要么接收到transport key 之后 设备对绑定表进行了初始化 ~~~

我就是这么使用的,没有问题呀。没有收到KEY的验证,设备状态还是处于DEV_END_DEVICE_UNAUTH。

秘钥ok,才会到DEV_END_DEVICE。

所以在ZDO_STATE_CHANGE后面新建一个绑定条目即可。

需要打开NV。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top