Zstack 2.3.0版空中发送字节数问题请教!
时间:12-22
整理:3721RD
点击:
我使用的是CC2530+CC2591的硬件,使用Zstack 2.3.0的SDK,我在开发过程中发现,空中发送数据时单帧最大只能发送99bytes,若超了就发送不出去。我测试过单帧的长度在99bytes内没有任何问题,为什么超过99bytes后就发送不出去?我期望单帧的长度能做到256bytes。请问我该如何做呢?
你发送的99个字节是你的payload,还有其他的帧头帧尾在协议里会自动加上去的,你可以用packet sniffer软件抓取空中的数据包,看下具体的帧结构
每一帧的最大长度是127个字节,这个是IEEE802.15.4的标准协议规定的!可以看下协议的Specification!
我用的是串口透明传输,从串口给过去的字节数最大就是99bytes,多一个就发送不出去。难道是串口接收这块不能超过99bytes,但是串口这块也最大可发送127bytes,这样的话,我应该单次能发送127bytes才对。可实际上现在就只能发送99bytes。
你所谓的串口透传是指,你购买了CC2530的模块,然后所有协议软件固化在模块里面,你只需要通过串口AT命令就可以进行数据收发,是吗?
那你需要跟模块厂家确认了,他们对你发送的99个字节,还需要处理加其他的帧头帧尾了
我说的127个字节是指CC2530从射频端发出去的最大字节
不是 的。CC2530的程序是我在写,而不是使用人家的东西。我是在测试自己的东西。我发现从串口输入的数据最大只能是99bytes,目前还不知道这个限制是在串口接收这块,还是射频发射那块。既然你说射频最大能传127bytes,那我估计串口的DMA查询接收这块可能有点问题。