您好! 每个人:
有一些问题需要您的帮助!
ZStack的版本:2.5 ZStack-CC2530-ZStack.1a
设备类型:CC2530F256RHAT
IDE的版本:IAR 8.10 .................3.
问题描述:
该项目由20个终端设备和1个协调员组成。 每个EndDevice都位于协调员20米内。 每个EndDevice都能够与协调器进行通信。 每天,这些EndDevices和Coordinator都可能关闭电源,然后重新启动。 我正在使用从:\Texas Instruments 2.5 修改的项目,然后在EndDevices和Coordinator中启用NV_init和NV_restore,因为我希望他们快速找到原始网络。 另外,我希望EndDevice 找不到原始网络,EndDevice在丢失原始网络超过1分钟后将重置网络列表,以查找新网络并加入。
我在EndDevices上使用以下程序:
IF (devState == dev_Nwk_disc)
{
加入NWKTimer ++;
IF (加入NWKTimer >= 6000)
{
加入NWKTimer =0;
//重置原始网络
zgWriteStartupOptions(ZG_STARTUP_SET,ZCD_STARTOPT_DEFAULT_NETWORK_STATE);
SystemReset();
}
}
否则
{
加入NWKTimer =0;
}
仅在EndDevices中使用的程序上方。
我的问题是:
开始时,我给终端设备和协调员提供了电源和正常通信,然后我将关闭协调员,断电1分钟以上,然后协调员再次接通电源。 重复上述操作。 最终,EndDevices和协调器无法通信。 除非两个程序都被擦除并重新加载程序。 使用SmartRF数据包监听器查看数据包,我会发现终端设备发送信标请求,协调员将作出响应! 数据包如下:
转发到您的答案!
