cc2530用Zigbee最多能发送几个字节?发送几个字节内用Sniffer抓帧时不会出现网络层?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
你说的最多是指是应用层最多能发出去还是物理层最多能发数据?是指单次最多能发数据还是总共最多能发的数据?
有没有网络层跟你想法的数据量多少没关系?但是从表象来看,带网络层的数据帧会长一点,不带网络层的数据长度会短一点,但不能按照这样的思路去理解。数据帧的长度是有数据帧的类型所决定的,MAC层数据,NWK层数据,APP层数据,等等。
CC2530物理层最多单次能发127个字节,如果单次发送字节超过127个字节话,zigbee协议栈会做分包处理,是软件处理的,在Z-stack中已经实现了fragmentation功能。
Hua Jia,
下次可以重新开一个帖子提问,如果在其他人的帖子后面提问的话,我们可能看不到,请见谅。
如果当你的应用需要发送的数据超过最大负载的时候,协议栈会自动化执行拆包工作,在afStatus_t AF_DataRequest()
if (len > afDataReqMTU( &mtu ) )
{
if (apsfSendFragmented)
{
stat = (*apsfSendFragmented)( &req );
}
else
{
stat = afStatus_INVALID_PARAMETER;
}
}
else
{
stat = APSDE_DataReq( &req );
}
关于fragmentation的程序,我们是没有开源的。但是功能是可以实现的,请放心。
另外你的协调器端PC显示128字节,出问题的地方有很多
1) 你的发送端,有没有把分包的数据都发送出来?总共几包,每包的payload是不是和你想发的一样?
2)你的接收端有没有把包都收到?
3)即便收到了,有没有通过UART全部显示?可能你串口buffer只开了128字节呢?
关于zigbee的学习,
最重要的两点的是1)读ZigBee Specification ,z-stack和specification放在一起学习, 2)协议栈,网络,通信问题从抓包文件开始分析。
之前有遗漏你的问题请见谅。