完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
试验如下,发现一个问题,不知为啥。一共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大神给解下,为什么?谢谢
|
|
相关推荐
9个回答
|
|
您的三个设备是否都编译了NV_INIT与NV_RESTORE?
|
|
|
|
是的,三类设备都编译了NV_RESTORE,但是NV_INT没有编译,难道和这个有关系嘛,我先试验下,看下结果。 |
|
|
|
我刚把NV_INT也加上去了,效果还是一样,终端父节点由协调器更换为路由器,然后协调器断电,再次上电,通过串口给协调器发命令,还是不能控制ED, 和NV_INT应该无效。不知道大家有没遇到这类问题,你们可以做下试验?求解决? |
|
|
|
站着幻想 发表于 2018-6-1 07:56 终端的短地址变了。 |
|
|
|
这不和我遇到的问题一样吗? 有人回答说是协议栈的bug,回避和困难的。 |
|
|
|
按理说,用新的短地址发送数据,如果协调器本身没有查询到这个短地址,应该会自动一个路由请求的。抓包看看,有没有这个包。 同时在试下用广播看看能收到不? |
|
|
|
jiusi66702 发表于 2018-6-1 08:26 首先地址没有变化,我加上NV_RESTORE,在这之前我组了好几次网,地址早就分配好了, 我用抓包软件看了,发不出去,一直找不到原因,至于广播没试验下。 |
|
|
|
站着幻想 发表于 2018-6-1 08:40 你好, 当你的终端设备加到路由器以后,协调器上电的时候认为之前的终端设备还是自己的子设备,所以发数据的时候直接发出去了,这个数据时buffer在协调器的底层,等待自己的子设备通过data request来获取。 |
|
|
|
wenlonghbo 发表于 2018-6-1 08:55 V哥,你好。我已经明白你的意思了,那么怎么解决这个问题,是不是需要子节点更换父节点后,再次向协调器发送下数据,是不是就可以解决了, 还有其他办法吗?实际项目中,子节点跳动很平常的。 |
|
|
|
只有小组成员才能发言,加入小组>>
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
323 浏览 1 评论
513 浏览 0 评论
普中科技F28335开发板每次上电复位后数码管都会显示,如何熄灭它?
386 浏览 1 评论
943 浏览 0 评论
TMS320F28377D:新做了以377d为芯片的板子,上电后芯片复位引脚出现方波请问如何解决?
2114 浏览 0 评论
31浏览 3评论
CC3100BOOST使用CC3200lunchXL进行烧录
892浏览 2评论
137浏览 2评论
174浏览 2评论
151浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-21 13:51 , Processed in 1.005754 second(s), Total 95, Slave 79 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号