- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
通过SimpleApp例程总结绑定流程
通过SimpleApp例程总结绑定的流程?2010-12-04 12:08:45
分类:?嵌入式
?
这篇文章是在上几篇文章的基础上总结的绑定的整个流程:
下面我们总结一个绑定的整个流程:
(1)控制节点在默认情况下(sapi?层初始化时)关闭了匹配描述符响应。当控制节点建立网络后,应用层状态:
myAppState = APP_START;
通过按下按键?S1?可以开启允许绑定功能:
zb_AllowBind( 0xFF );
允许绑定的实质即开启匹配描述符响应:
afSetMatch(sapi_epDesc.simpleDesc-EndPoint, TRUE);
控制节点允许绑定的时间范围是?10s,即允许其他节点在?10s?内与它建立绑定关系。
(2)开关节点加入网络后,通过手动按下按键S1?发起与控制节点绑定:
zb_BindDevice(TRUE, TOGGLE_LIGHT_CMD_ID, NULL);
其中,指定?64?位?IEEE?目的地址为?NULL。所以将设定目的地址模式为?16?位网络地址,而且此地址为广播地址:
destination.addrMode = Addr16Bit;
destination.addr.shortAddr = NWK_BROADCAST_SHORTADDR;
对于?开?关?节?点?而?言?,?它?将?接?收?来?自?控?制?节?点?的?切?换?命?令?,?因?此?簇?号?为TOGGLE_LIGHT_CMD_ID?的簇是输入簇;该簇对于控制节点而言是输出簇。当开关节点在输入簇列表中找到该簇后:
ZDO_AnyClusterMatches( 1, commandId, sapi_epDesc.simpleDesc-AppNumInClusters,
sapi_epDesc.simpleDesc-pAppInClusterList )
将尽量与一个处于允许绑定模式的设备进行匹配:
ZDP_MatchDescReq( destination, NWK_BROADCAST_SHORTADDR,
sapi_epDesc.simpleDesc-AppProfId, 0, (cId_t *)NULL, 1, commandId, 0 )
其中,地址模式?destination?为?16?位网络地址模式;16?位网络地址为广播地址;应用程序配置文件?AppProfId?为?0x0F10;?输出簇数目为:1;输出簇为:TOGGLE_LIGHT_CMD_ID;输入簇数目为:0;输入簇为:NULL;
请求匹配描述符函数最后调用:
fillAndSend( ZDP_TransID, dstAddr, Match_Desc_req, len );
其中,传输序号?ZDP_TransID?由?0?开始逐步递增;目的地址模式和地址?dstAddr?为?16?位网络地址模式和广播地址;命令?ID为Match_Desc_req;数据包长度len?为:nwkAddr+ProfileID +NumInClusters+NumOutClusters,单位为字节。
该函数最终通过调用无线发送数据包函数将匹配消息(Match_Desc_req)发送出去:
AF_DataRequest(afAddr,ZDApp_epDesc,clusterID,(uint16)(len+1), (uint8*)(ZDP_TmpBuf-1),
transSeq, ZDP_TxOptions,??AF_DEFAULT_RADIUS );
其中,目的地址?afAddr为16?位网络地址模式和广播地址;端点号为:端点?0,?命令ID号为:Match_Desc_req;发送选项为?ZDP_TXOptions,即TXOption=0;跳数为?AF_DEFAULT_RADIUS,即?Radius=0x14。
并且将绑定标志位设置成绑定请求,即:sapi_bindInProgress= Match_Desc_req
(3)控制节点的?ZDApp?接收到外界输入的数据后,即?AF_INCOMING_MSG_CMD,ZDApp层任务事件处理函数将进行处理:
ZDP_IncomingData( (afIncomingMSGPacket_t *)msgPtr );
然后,根据?ClusterID(这里是?Match_Desc_req)查找结构体数组函数,找到相对应的匹配描述符处理函数:
ZDO_ProcessMatchDescReq( zdoIncomingMsg_t *inMsg )
该函数最终将发送匹配描述符响应至开关节点:
ZDP_MatchDescRsp( inMsg-TransSeq, (inMsg-srcAddr), ZDP_SUCCESS,
ZDApp
您可能关注的文档
最近下载
- 中学地理学科课程标准与教材研究教学大纲.pdf VIP
- 中建X局各类建筑工程技术经济指标.docx VIP
- 我们的手上有多少细菌?.doc VIP
- 第一单元 观察物体 大单元教学设计2025数学人教版三年级上册(新教材).pdf
- 年东北财经大学国际商学院(校本部) 联招联考项目招生指南.pdf VIP
- 驾驶员安全生产操作规程 - 生产安全.docx VIP
- 公务员(国考)之行政职业能力测验题库附答案(基础题)收藏.docx VIP
- 全册部编版六年级上册全册道德与法治教学课件.pptx
- 第二章-空气流动压力及阻力.pptx VIP
- 2025年全国农产品质量安全检测技能竞赛理论知识考试题库(含答案.docx VIP
文档评论(0)