[讨论] AF_DataRequest数据包发送过程

kata   2011-5-22 19:44 楼主

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

 

这个函数是AF框架下的数据包发送请求,函数逐步构造一个应用层的数据包,然后调用下APS层函数APSDE_DataReq发送数据包。
函数操作过程如下:
1)检验源端点是否有效。
2)检验目标地址是否广播地址,如果地址和模式有冲突,修正广播地址。
3)填写目标地址。
4)填写默认配置ID。
5)如果源端点有回调函数,调用回调函数修改配置ID。

6)如果端点有简单描述符,覆盖掉默认配置ID。

7)根据条件填写发送选项。

8)填写交易ID,transID。

9)填写源端点。

10)填写目源端点。

11)填写簇ID。

12)填写APS载荷数据长度。

13)填写APS载荷数据指针。

14)填写是否允许触发路由发现服务。当数据包找不到目标时触发路由服务。

15)设计广播半径。

16)调用APS数据发送函数。

17)如果目标地址是本节点,调用数据包确认原语。

没有看原代码之前一直觉得第二个参数源端点有些古怪,为什么不用源端点号来得简单明了,从代码中可以看到源端点在发送过程需要调用源端点回调函数,同时需要用到源端点简单描述符中的配置ID,第二参数使用端点结构体就不足为怪了。

电子工程师技术交流QQ群:12425841,专注于自动控制、数字电源等

回复评论 (1)

又学到知识了,谢谢分享,
点赞  2011-6-22 07:31
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复