使用CC2530遇到的一些问题,求答案!
随着使用cc2530越来越深入,发现遇到的问题越来越多,恳求有之前遇到相同问题的大神们,解惑一下:
编译选项:
-DNV_RESTORE
-DPOWER_SAVING
-DRFD_RCVC_ALWAYS_ON=FALSE
-DNWK_AUTO_POLL
-DBUILD_ALL_DEVICES
-DHOLD_AUTO_START
-DNV_RESTORE
-DUD_WAKEUP=TRUE
1:使用上边的编译选项。如果link指定的库是router-pro.lib,则当作为终端节点使用的时候,终端节点不会发送data request导致收不到任何数据,要将库文件换为alldevice-pro.lib才可以
2:假如终端或者路由器通过其他路由器连接到协调器上的话,有时候终端或者路由器会重复收到协调器发出的数据(2次或者多次),通过抓包发现重复收到的消息的sequence number是一样的,但是直接连到协调器的这个路由器则数据接收正常,
不会发生一条数据收到多次的情况。
3:打开加密编译选项后,如果RFD_RCVC_ALWAYS_ON=FALSE,终端节点不能加入网络,一直复位,如果RFD_RCVC_ALWAYS_ON=TRUE,则有时候能加入网络能正常通讯,有时候则不能加入网络,会在大概10秒后自己复位。
4:如果网内3个设备,2个路由称作A和B,一个协调器称作C,其中A通过B连到协调器C,那么如果A要发数据到C到底经不经过B转发,我抓包发现,有时候要通过B转发,有时候有是直接发送到C,有点迷惑?
不知道各位是否也遇到过这种问题,是怎么解决的?
某在此不胜感激!
不是我想重复发帖,是元旦前一直发不出去,所以今天再发一遍,希望能得到解答,感激不尽~~~~~
新年第一个工作日,急求答案啊。
没有人遇到过这些问题吗?
1, 用的是Router的library,要用作end device肯定是不可以的
2,有可能是协调器回复的MAC ACK,路由器或者终端没有收到,导致重发。
3,有抓包文件吗
4,这个是正常的,ZigBee本身协议的特点就是自组织,自恢复的,根据不同的情况自行选择路由。
附件question2.psd为问题2的抓包文件,路由器或者终端发送55 09 24 57 F1 EF 02 02 BD给协调器,协调器收到后会发送55 04 25 7E给路由或者终端,在抓包文件中会看到55 04 25 7E会发送多次,路由或者终端这边也会收到多次,但是我可以肯定协调器只是发送了一次啊!
附件question3.psd为问题3RFD_RCVC_ALWAYS_ON=FALSE的抓包文件
附件secure_link.psd为问题3RFD_RCVC_ALWAYS_ON=TRUE的抓包文件
问题2的抓包文件
问题3的另外一个抓包文件
question2.psd中,确实你说的协调器只发送一个一条数据给终端设备,但是通过实际抓包来看,协调器连续发送了几条数据,原因是协调器发送出去没有得到MAC ACK,所以才会重发,并且这个重发是在协议栈底层完成的,直到发送第5条数据的时候,才收到MAC ACK,然后没有重发了。
question3.psd中,请问你的节点的poll rate是多少啊? 设置成了0?
pollrate为默认设置1000,但是在终端节点获取到网络地址之后,没有发送data request出来,然后大概过10秒钟就复位了