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

关于协调器掉电问题

试验如下,发现一个问题,不知为啥。一共3个设备,一个协调器,一个路由器,一个终端,设计软件:ZStack-CC2530-2.5.1a  GenericApp,宏定义包括了NV_RESTORE;测试距离,在一个桌子上,一米内;之前因为已经组过网,所以地址都已经写入NV里面;

 第一步:C下面挂了一个路由,一个终端,这个时候我发测试命令给R和ED,两个设备都可以收到,有指示灯看到,sniff抓发送数据,ED为500ms    datarequest 协调器;

下一步:把C掉电了,因为R可以维持网络,所以ED加入到R网络中,同样是500ms Datarequest路由器;

下一步:把C上电,串口发送命令,再次控制R,大概过几秒后,可以控制,但是控制ED就不可以了,监控下发送数据,根本就没发出去,不知道为啥?我知道ED地址,为啥在协调器串口发送测试命令,程序调用 AF_DataRequest(…AF_DISCV_ROUTE , AF_DEFAULT_RADIUS),只要知道目标地址,应该可以控制,但是事实不能?

求TI大神给解下,为什么?谢谢

Susan Yang:

您的三个设备是否都编译了NV_INIT与NV_RESTORE?

zhongwei xu1:

回复 Susan Yang:

是的,三类设备都编译了NV_RESTORE,但是NV_INT没有编译,难道和这个有关系嘛,我先试验下,看下结果。

 

zhongwei xu1:

回复 zhongwei xu1:

我刚把NV_INT也加上去了,效果还是一样,终端父节点由协调器更换为路由器,然后协调器断电,再次上电,通过串口给协调器发命令,还是不能控制ED,

和NV_INT应该无效。不知道大家有没遇到这类问题,你们可以做下试验?求解决?

YINGQI li:

回复 zhongwei xu1:

终端的短地址变了。

yongjie fu1:

回复 zhongwei xu1:

 这不和我遇到的问题一样吗?

有人回答说是协议栈的bug,回避和困难的。

YINGQI li:

回复 yongjie fu1:

按理说,用新的短地址发送数据,如果协调器本身没有查询到这个短地址,应该会自动一个路由请求的。抓包看看,有没有这个包。

同时在试下用广播看看能收到不?

zhongwei xu1:

回复 YINGQI li:

首先地址没有变化,我加上NV_RESTORE,在这之前我组了好几次网,地址早就分配好了,

我用抓包软件看了,发不出去,一直找不到原因,至于广播没试验下。

zhongwei xu1:

回复 VV:

V哥,你好。我已经明白你的意思了,那么怎么解决这个问题,是不是需要子节点更换父节点后,再次向协调器发送下数据,是不是就可以解决了,

还有其他办法吗?实际项目中,子节点跳动很平常的。

赞(0)
未经允许不得转载:TI中文支持网 » 关于协调器掉电问题
分享到: 更多 (0)