协调器经路由给端点发数据失败
IT各位大神:
在使用zstack2.5.1a simple工程时发生如下情况:
1、协调器上电->路由器上电->端点上电,此时路由父节点为协调,端点父节点是路由,
这时协调可以通过短地址向端点发数据,通过抓包分析,数据经过路由到达端点
2、协调上电->端点上电->路由上电,此时路由和端点的父节点都是协调,
再将协调器断电,端点加到路由上(端点的父节点是路由了),
再把协调上电,此时端点的父节点仍然是路由,而路由的父节点是协调,
此时协调器再给端点发数据,端点就收不到了,通过抓包分析,协调器就没发出数据。
此问题怎么破解?该情况在实际用户使用过程中会经常发生,不能让用户把路由器关掉再上电吧。
在这种情况下端点向协调器发数据没问题。
目前我的分析是:此时协调器没有更新?表,不知道这条数据应该直接给路由,
而是等待端点的Data request,而端点的Data request是发给路由的,
因此协调数据就一直没有发送出去,分析不知对不?
拜托了,给点解决办法,谢谢了。
“ yongjie fu1”您好,能够加你的QQ吗?
是不是由于路由器的存在,会是PIN加1,所以协调器不能喝路由器发送数据呢?在编译的时候添加NV_RESTORE 让其断电后自动连接
大侠,请教一下您昨天讲你能成功Serial Boot Loade for cc253X.pdf操作成功,可是小弟按照其配置确实不能生成.bin文件(但是直接IAR直接debuger下载能够跳转),而配置能够生成的.bin文件下载了也不能成功跳转,GenericApp.map 的__checksum 0x9261 也复制到了OnBoard.c文件中const CODE uint16 _crcShdw = 0x9261了。可就是不行的。请问一下您是怎么生成的.bin文件,和您用的那个版本的编译器和协议栈。求指点一下
跟NV_RESTORE加了,跟PAN无关,广播都好用,从端点到协调也好用
生成bin文件需要在编译器Options - >Build Actions 追加一条指令,用到oad.exe, 详细的在文档里面有,是不是这个没加啊?
加了,就是没有生成.bin文件,"$PROJ_DIR$\..\..\..\Tools\CC2530DB\oad.exe""$PROJ_DIR$\RouterEB\Exe\GenericApp.sim""$PROJ_DIR$\RouterEB\Exe\GenericApp.bin"
您的linker下的extra Output是这样配置的吗?我在Build Actions中加入了您说的那个oad.exe的命令,可就是没有生成.bin文件,我的IAR是用的破解的会有影响吗?
yang yang15
加了,就是没有生成.bin文件,"$PROJ_DIR$\..\..\..\Tools\CC2530DB\oad.exe""$PROJ_DIR$\RouterEB\Exe\GenericApp.sim""$PROJ_DIR$\RouterEB\Exe\GenericApp.bin"
命令引号之间追加一空格试试,如下
"$PROJ_DIR$\..\..\..\Tools\CC2530DB\oad.exe" "$PROJ_DIR$\RouterEB\Exe\GenericApp.sim" "$PROJ_DIR$\RouterEB\Exe\GenericApp.bin"
感谢您的解答,我的问题解决了1、我的路径写错了应该是 Router。2、命令之间需要有空格
再次感谢您的帮助,谢谢
我的问题谁能给点解决办法啊
你的问题我碰到过,在更换父节点之后,原来的父节点没有及时更新信息,误以为终端还是自己的孩子,有数据要发给终端时,一直在等待终端来轮询。但终端已经成为了别人的小三,再也不来轮询了,这是 2.5.1a bug。升级到 2.6 此问题解决