微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > 射频无线通信设计 > 端点(endpoint)的实现机制

端点(endpoint)的实现机制

时间:10-02 整理:3721RD 点击:

以前的贴子,重新整理到这个版面

zigbee里面应用对象是建立在端点的基础上的,写应用代码时,如果不把端点的实现机制搞明白,总觉得有点虚。

好在TI没有把这一块的代码编译到库里,有源代码分析起很方便。

在zigbee规范里面,端点最多可以支持256个,其中0号端点作保留给ZDO,255号端作为广播用途,用户可以使用的端点大概240个左右。

从AF.C和AF.H可以看到端点是借助单向链表来管理的。用户需要使用某个端点进行通讯时,先要调用afRegister注册相应的端点向端点管理链表添加一条记录。

端点一量注册之后,在接收和发送两个过程中都会使用到。

在接收过程,afIncomingData函数提取来自APS层数据包中的目标端点号,搜索节点已注册的端点号,进行匹配。如果端点号匹配则需要进一步匹配应用配置ID,应用配置ID也匹配的语,数据包就会被打包,然后借助OSAL的消息机制,最终发送到相应端点应用对象的消息处理函数。

在发送过程,端点信息被AF_DataRequest读取,填写到数据包相关的区域,如果端点注册了回调函数,回调函数将在数据发送前被调用。

又学到知识了,谢谢分享

犹如大汗遇甘霖呀,谢谢分享

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top