协议栈发送函数af datarequest说明_第1页
协议栈发送函数af datarequest说明_第2页
协议栈发送函数af datarequest说明_第3页
协议栈发送函数af datarequest说明_第4页
协议栈发送函数af datarequest说明_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Z-Stack协议Z-StackvoidSampleApp_SendFlashMessageuint16Z-Stack协议Z-StackvoidSampleApp_SendFlashMessageuint16flashTimeflashTime为发afStatus_tAF_DataRequest(afAddrType_t*dstAddr,endPointDesc_tuint16cID,uint16len,uint8*buf,uint8*transID,uint8options,uint8radius)typedef{{uint16}byteendPoint241—2541-}{ AddrNotPresent,//间接传送Addr16Bit,//指定地址单点传送(Unicast)16=AddrGroup,//组寻址(Group AddrBroadcast//广播传送}UicastafAddrModeAddr16Bit间接传送当应用程序不清楚数据包的最终目标的时候使用间接传送。将模式设置为AddrNotPresent上一个版本的ZigBee(ZigBee04),有一个选项可以讲绑定表保存在协调器(CoordinatorBinding)。广播传送设置为AddrBroadcast。目标地址可以设置为下面广播地址的一种:NWK_BROADCAST_SHORTADDR_DEVALL0xFFFFAddrNotPresent上一个版本的ZigBee(ZigBee04),有一个选项可以讲绑定表保存在协调器(CoordinatorBinding)。广播传送设置为AddrBroadcast。目标地址可以设置为下面广播地址的一种:NWK_BROADCAST_SHORTADDR_DEVALL0xFFFF中)。NWK_BROADCAST_SHORTADDR_DEVRXON(0xFFFDNWK_BROADCAST_SHORTADDR_DEVZCZR(0xFFFC)——数据包发送给所有的路组寻址(Group式设置为afAddrGroup并且addr.shortAddr设置为组ID。Z-stackAPI一个设备怎样加入到一个ID为1的组当中:group= be {AddrNotPresent=AddrGroup3IEEE64==AddrBroadcast=MAC地址,另一种是MAC地址,另一种是16位网络地址常由制造商或者被安装时设置。这些地址由IEEE来维护和分配。描述,每个终端都必须要有一个ZigBee的简单描述。typedef{byteendPointbyte*task_id;//PointertolocationoftheApplicationtaskSimpleDescriptionFormat_t*simpleDescafNetworkLatencyReq_tlatencyReq}typedef{byteEndPoint;//EPID(EP=Enduint16AppProfIdprofileID(uint16AppDeviceId;//DeviceAppDevVer:4;//DeviceVersion0x00为VersionReserved:4;//AF_V1_SUPPORTusesforAppNumInClustersbyte;typedef{typedef{}第三个参数:uint16cID第四个参数 第五个参数:uint8 指向发送数据缓冲的指AF_DISCV_ROUTE0x20总要包含这个选AF_SKIP_ROUTING0x80设置这个选项将导致设备跳过路由而直接发送消typedef{afStatus_FAILED=0x80,}下面是这个函数完整的源代码******CommonfunctionalityforinvokingAPSDE_DataReq()forbothSendMultiandMSG-Send.input***@param*dstAddr-FullZBdestinationaddress:NwkAddr+End*srcEP-Origination(i.e.respondtoorackto)End****---AvalidclusterIDasspecifiedbytheProfile.Numberofbytesofdatapointedtobynextparam.Apointertothedatabytestosend.****---AvalidclusterIDasspecifiedbytheProfile.Numberofbytesofdatapointedtobynextparam.Apointertothedatabytestosend.beusedasthetransactionsequencenumberof*******options-ValidbitmaskofTxoptions.radius-NormallysettoAF_DEFAULT_RADIUS.*transID-Incrementedbyoneifthereturnvalueis*@returnafStatus_t-SeepreviousdefinitionofafStatus_...uint16cID,uint16len,uint8options,){pDescCBpfnDescCB;ZStatus_tstat;afDataReqMTU_tmtu;//Verifysourceendpointif(srcEP==NULL){return}#if!defined(REFLECTORif(dstAddr->addrMode==afAddrNotPresent{return}Verifydestinationaddressreq.dstAddr.addr.shortAddr=dstAddr-Validatebroadcastingif(dstAddr->addrMode==)(dstAddr->addrMode==afAddrBroadcast){//if(dstAddr->addrMode==)(dstAddr->addrMode==afAddrBroadcast){//Checkforvalidif({//ForcemodedstAddr->addr.shortAddr dstAddr->addrMode=}{Addressisnotavalidbroadcasttype)if(dstAddr->addrMode=={return}}}elseif(dstAddr->addrMode!=afAddrGroup&&dstAddr->addrMode!=afAddrNotPresent){return}req.dstAddr.addrMode=dstAfileID==afGetDescCB(srcEP))if({uint16*pID=(uint16if(pID){fileID=*pID;osal_mem_free(pID}}elseif(srcEP->simpleDesc{fileID=srcEP->simpleDesc-}req.txOptions=if((({options&AF_ACK_REQUESTreq.dstAddr.addrMode!=AddrBroadcastreq.dstAddr.addrMode!=AddrGroup))))req.txOptions}if(optionsreq.txOptions=if((({options&AF_ACK_REQUESTreq.dstAddr.addrMode!=AddrBroadcastreq.dstAddr.addrMode!=AddrGroup))))req.txOptions}if(options&AF_SKIP_ROUTING{req.txOptions}if(options&AF_EN_SECURITY{req.txOptions=}{}=mtu.kvp=======req.radiusCounter=radius;if(len>afDataReqMTU(&mtu){if{req.txOptions|=AF_FRAGMENTED|APS_TX_OPTIONS_ACK;stat=(*apsfSendFragmented)(&req);}{stat=}}{stat=APSDE_DataReq(&req{stat=}}{stat=APSDE_DataReq(&req}IfthisisanEndPoint-to-EndPointmessageonthesamedevice,itwillnotgetaddedtotheNWKdatabufs.SoitwillnotgoOTAanditwillAF_DATA_CONFIRM_CMDhere.NotethatAPSDE_DataConfirm()onlygeneratesonemessagewiththefirstinlineTransSeqNumber,evenonamultiAlsonotethatareflected

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论