不切片传输,每个应用层包最大可以传输99字节
切片传输,没个应用层包最大可以传输431字节
在SampleApp.c中实验,协调器使用pro,enddev也使用pro。这样就不用在配置中预定义ZIGBEE_FRAGMENTATION了。否则要预定义。在项目中,如果发现已经预编译了ZIGBEE_FRAGMENTATION,但是仍然发不出长数据,很可能的原因是
1.应用层的内存开辟的多了,导致协议栈所需内存不足,osal_mem_alloc失败,而发送失败。协议帧内部发送大帧需要的内存也多。
2.当然,乙方在接收大帧的时候,协议栈也需要较大的可以osal_mem_alloc的内存。如果乙方内存不足,即使甲方发送成功,乙方应用层也收不到消息。
经过试验,协议栈正常进行发送   或者   接收的时候,系统应该剩余512B内存,供协议栈使用。

终端发给协调器:
   if ( keys & HAL_KEY_SW_3 )
    {

SampleApp_Flash_DstAddr.addrMode = afAddr16Bit;
      SampleApp_Flash_DstAddr.addr.shortAddr = 0;
      SampleApp_Flash_DstAddr.endPoint = SAMPLEAPP_ENDPOINT;

SendTheMessage();
    }

static int32 num=0;
void SendTheMessage( void )
{uint8 *theMessageData = osal_mem_alloc(500);if (theMessageData != NULL){const char constMessageData[] = "Hello World";osal_memcpy(theMessageData, constMessageData, sizeof(constMessageData));if ( AF_DataRequest( &SampleApp_Flash_DstAddr, &SampleApp_epDesc,1,400,theMessageData,&SampleApp_TransID,AF_DISCV_ROUTE, AF_DEFAULT_RADIUS ) == afStatus_SUCCESS ){int8 str[6];num++;_itoa(num,str,10);//str="19232",10进制HalLcdWriteString(str,1);// Successfully requested to be sent.}else{       int8 str[6];num++;_itoa(num,str,10);//str="19232",10进制HalLcdWriteString(str,2);// Error occurred in request to send.}}osal_mem_free(theMessageData);}

实验中发现使用广播地址将无法切片发送长帧,只能发送短帧。
      SampleApp_Flash_DstAddr.addrMode = AddrBroadcast;
      SampleApp_Flash_DstAddr.addr.shortAddr = NWK_BROADCAST_SHORTADDR_DEVALL;
      SampleApp_Flash_DstAddr.endPoint = SAMPLEAPP_ENDPOINT;

转载于:https://www.cnblogs.com/-song/archive/2013/05/11/3331810.html

zigbee ZIGBEE_FRAGMENTATION相关推荐

  1. zigbee 串口不稳定_Zigbee

    Zigbee 不完全整 基本概念: 计算机网络定义: ​ 1.用通信链路将分散的多台计算机.终端.外设等互联起来,使之能彼此通信,同时共享各种硬件.软件和数据资源,整个系统可称为计算机网络 ​ 2.计 ...

  2. zigbee zstack 串口,按键,消息,定时器

    协议栈中的串口接收流程 串口在底层使用的是中断,轮询还是DMA呢??答案从下面这个文件定义的宏可以得知 在C:\Texas Instruments\ZStack-CC2530-2.3.0-1.4.0\ ...

  3. Zigbee通讯之开发篇(基于TI 的Z-Stack)

    1.Zigbee协议和Z-Stack   Zigbee协议和Z-Stack是什么关系?这可能是初学Zigbee同学想知道的问题.给大家举个例子吧,我们生活中使用的插排是要符合一定的标准的,现在国家标准 ...

  4. 基于ZigBee的智能家居设计与实现—CC2530开发

    目录 背景 环境搭建 IAR安装破解 SmartRF04EBR驱动安装 CC2530 I/O口操作 I/O口简介 寄存器介绍 流水灯 CC2530 ADC操作 ADC简介 寄存器介绍 ADC实验 CC ...

  5. 快速了解ZigBee的协议栈

    带大家来一起快速的看懂ZigBee的协议栈的运行流程. 1.读任何程序都需要从main函数入手,那我们先来看Zmain.c中的main函数. 问题:在main中我们会看到很多的函数,我们究竟要看哪个函 ...

  6. ZigBee协议栈浅显解读(一)

    目前ZigBee开发主要用的是TI的CC2530.CC2530内部集成看增强型的51所以对于只学过51的小白入门不成问题. 本篇文章我只会介绍ZigBee的协议栈. 我们打开ZigBee协议栈后可以加 ...

  7. CC2530,zigbee,协议栈,代码集(网络层)

    NWK(网络层) AddrMgr.h #ifndef ADDRMGR_H #define ADDRMGR_H#ifdef __cplusplus extern "C" { #end ...

  8. zstack流程梳理与串口事件详解及zigbee调试助手实现细节

    声明:本文撰写时间为2019年6月,能力有限,有错误欢迎批评指正 首先先梳理一遍zstack的流程 协议栈的文件包层次结构: App:应用层目录,这是用户创建各种不同工程的区域,在这个目录中包含了应用 ...

  9. ZigBee无线传感器网络远程数据采集系统设计

       ZigBee无线传感器网络远程数据采集系统设计             原理: 在实验中,协调器节点负责建立网络,路由器节点与终端节点申请加入网络,然后周期性地采集温度.电压等发送给协调器,协调 ...

最新文章

  1. Can't connect to MySQL server on 'localhost' (10061)的解决办法!
  2. Shell命令-关机重启及注销之logout、exit
  3. 2017.10.8 软件工程----总体设计
  4. 跟我一起写 Makefile(九)
  5. ELF格式解析库之提取信息
  6. 汇编语言start标号的作用
  7. 2008 年 十大预测的总结 (只对了一半左右)
  8. 每日一测5(关于继承)
  9. 计算机网络8832,2021年4月份自学考试计算机网络原理04741答案.doc
  10. Spark: Structured + hive(Jdbc方式)卡死
  11. oracle安装后怎么用plsql连接,oracle11g安装和使用PLSQL连接
  12. 结对项目---万年历
  13. Linux卸载系统盘,Linux磁盘管理(创建、卸载、挂载磁盘)
  14. 【T+】T+和天联高级版软件结合使用的时候,运行T+提示网页崩溃了。
  15. Ubuntu MySQL 授权语句错误 ERROR 1064 (42000)
  16. 整流3-前级三相PWM整流器软件层面理解
  17. CSS3鼠标悬停图片360度旋转效果
  18. doctrine安装和配置
  19. oracle 的导入导出,Oracle 导入导出详细介绍
  20. Array,String 方法

热门文章

  1. unity3D 5中如何修改及显示Text的值
  2. UML学习笔记(4)——类图之间的关系
  3. std::string的split函数
  4. IOS_CGRect
  5. [转]C#读写xml文件
  6. PHP nl2br()格式化输出
  7. 2008高考零分作文---大事与小事
  8. Android studio导入第三方库的各种方法和eclipse的导入方式对比
  9. android fragment onHiddenChanged的使用
  10. Binder ThreadPoolMax default = 15