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

CC2530: 终端不能重新加入协调器网络

Part Number:CC2530Other Parts Discussed in Thread:Z-STACK,

你好,请问下终端本已正常加入协调器网络。但是两者同时断电并再次上电后,终端都无法加入协调器建立的网络。重复多次,有时终端可以与协调器组网,有时不能。请问下知道这个问题的原因么?A20_DATA.psd

终端和协调器都没有设置NV_RESTORE。用的协议是Z-Stack Mesh 1.0.0。

Shuyang Zhong:

可以参照以下链接,试一下有没有效:

https://www.cxyzjd.com/article/u012327215/109432743

Best regards,

Shuyang

,

YiKai Chen:

终端和协调器都没有设置NV_RESTORE的話,你协调器需要一直使能permit join

,

Kimi_cheng:

测试了下,应该可以了。谢谢。

,

Kimi_cheng:

我现在把协调器NV_RESTORE,终端因为一些要求所以不能设置NV_RESTORE。3.0的版本我知道哪个设置permit jion。mesh版本设置的API可以发给我么。

,

YiKai Chen:

mesh版本设置的API跟3.0是一樣的

,

Kimi_cheng:

好的,我修改下试试。

,

Kimi_cheng:

你好!

1、我在APP初始化函数里面加了NLME_PermitJoiningRequest(255);多次重启协调器和终端,还是有终端不能入网的问题。

2、我的代码中有一个功能,就是在ZDO_JoinIndicationCB()这个回调函数中,加了一个入网终端的ExtendedAddress地址查询。我在NV里面存了一些终端的64bit地址。ZDO_JoinIndicationCB中判断如果申请入网的ExtendedAddress不在NV中,就不允许入网。我现在屏蔽了此功能,重启协调器和终端,设备都能很快的入网了。我想问下这个功能为什么会导致上述问题呢。

,

YiKai Chen:

是不是因為某些原因讓申请入网的ExtendedAddress不在NV中,所以就不允许入网了

,

Kimi_cheng:

1、我只有在第一次烧录完程序(擦除FLASH)的时候,上电在外部特定条件下执行osal_nv_write(),将ExtendedAddress写入需要的NV地址中,所以被误修改的可能性不大吧;

2、我在APP初始化的时候会循环执行osal_nv_item_init(A10_No1,8,NULL),擦除下存储ExtendedAddress的地址。但是这个函数应该只有第一次起作用,之后每次上电调用应该不起作用吧?

,

YiKai Chen:

不允许入网的狀況發生時执行osal_nv_write(),将ExtendedAddress写入需要的NV地址中,看看是不是就能入网就知道是不是被误修改

,

Kimi_cheng:

我测试了下,应该不是NV被修改导致的。终端无法入网时重写NV也不行。我目前是用一个协调器同24个终端组网。减少部分终端后多次重启终端可与协调器组网。这难道是CC2530芯片能力的问题么。但是不判断ExtendedAddress时,24个都可以入网。我抓的包在附件里,能帮忙分析下么。

,

YiKai Chen:

沒有看到抓包檔、不過這個問題應該是你自己加的程序造成

赞(0)
未经允许不得转载:TI中文支持网 » CC2530: 终端不能重新加入协调器网络
分享到: 更多 (0)

© 2024 TI中文支持网   网站地图 鲁ICP备2022002796号-1