Z-Stack协议——发送函数AF_DataRequest

Z-Stack协议——发送函数AF_DataRequest

ID:37971872

大小:70.50 KB

页数:8页

时间:2019-06-04

Z-Stack协议——发送函数AF_DataRequest_第1页
Z-Stack协议——发送函数AF_DataRequest_第2页
Z-Stack协议——发送函数AF_DataRequest_第3页
Z-Stack协议——发送函数AF_DataRequest_第4页
Z-Stack协议——发送函数AF_DataRequest_第5页
资源描述:

《Z-Stack协议——发送函数AF_DataRequest》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、By:AdamZ-Stack协议——发送函数AF_DataRequestZ-Stack中发送数据通过在应用层调用函数voidSampleApp_SendFlashMessage(uint16flashTime)完成,其中flashTime为发送的数据,这个函数在应用中通过调用[AF.c]afStatus_t AF_DataRequest(afAddrType_t*dstAddr,endPointDesc_t*srcEP,uint16cID,uint16len,uint8*buf,uint8*transID,uint8options,u

2、int8radius)函数完成数据的发送。如果熟悉了其中的每个参数的含义,就可以很灵活的使用发送函数发送自己的数据。    第一个参数dstAddr,在文件AF.h中,该参数是一个结构体的指针。在该参数中除了指定了网络地址外,还需要指定目的地址的模式参数。[AF.h]typedefstruct{  union  {    uint16shortAddr;  }addr;  afAddrMode_taddrMode;//afAddrMode_t是一个枚举类型模式参数  byteendPoint;//指定的端点号端点241—254保留端点

3、范围1-240}afAddrType_t;下面的是afAddrMode_t结构体的定义目的地址模式可以设置为以下几个值:[AF.h]typedefenum{afAddrNotPresent=AddrNotPresent,//间接传送(Indirect)afAddr16Bit=Addr16Bit,//指定地址单点传送(Unicast)16位afAddrGroup=AddrGroup,//组寻址(GroupAddressing)afAddrBroadcast=AddrBroadcast//广播传送(broadcast)}afAddrMod

4、e_t;下面详细解释各种地址模式单点传送(Unicast)Uicast是标准寻址模式,它将数据包发送给一个已经知道网络地址的网络设备。将afAddrMode设置为Addr16Bit并且在数据包中携带目标设备地址。间接传送(Indirect)By:Adam当应用程序不清楚数据包的最终目标的时候使用间接传送。将模式设置为AddrNotPresent并且不指定目标地址。取而代之的是,从发送设备的栈的绑定表中查找到的目标。这种特点称之为源绑定(在后面的绑定一节详细介绍)。当数据向下发送到栈中,从绑定表中查找并且使用该目标地址。这样,数据包将被

5、处理成为一个标准的单点传送数据包。如果在绑定表中找到多个设备,则向每个设备都发送一个数据包的拷贝。上一个版本的ZigBee(ZigBee04),有一个选项可以讲绑定表保存在协调器(Coordinator)当中。发送设备将数据包发送给协调器,协调器查找它栈中的绑定表,然后将数据发送给最终的目标设备。这个附加的特性叫做协调器绑定(CoordinatorBinding)。广播传送(broadcast)当应用程序需要将数据包发送给网络的每一个设备时,使用这种模式。地址模式设置为AddrBroadcast。目标地址可以设置为下面广播地址的一种:

6、NWK_BROADCAST_SHORTADDR_DEVALL(0xFFFF)——数据包将被传送到网络上的所有设备,包括睡眠中的设备。对于睡眠中的设备,数据包将被保留在其父亲节点直到查询到它或者消息超时(NWK_INDIRECT_MSG_TIMEO在f8wConifg.cfg中)。NWK_BROADCAST_SHORTADDR_DEVRXON(0xFFFD)——数据包将被传送到网络上的所有的打开接收的空闲设备(RXONWHENIDLE),也就是说,除了睡眠中的所有设备。NWK_BROADCAST_SHORTADDR_DEVZCZR(0x

7、FFFC)——数据包发送给所有的路由器,包括协调器。组寻址(GroupAddressing)当应用程序需要将数据包发送给网络上的一组设备时,使用该模式。地址模式设置为afAddrGroup并且addr.shortAddr设置为组ID。在使用这个功能之前,必须在网络中定义组。(参见Z-stackAPI文档中的aps_AddGroup()函数)。注意组可以用来关联间接寻址。再绑定表中找到的目标地址可能是是单点传送或者是一个组地址。另外,广播发送可以看做是一个组寻址的特例。下面的代码是一个设备怎样加入到一个ID为1的组当中:aps_Grou

8、p_tgroup;//Assignyourselftogroup1group.ID=0x0001;group.name[0]=0;//Thiscouldbeahumanreadablestringaps_AddGroup

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。