端点(Endpoint)
1. 他是一个字节编号的,数据收与发的基本单元。在单播通信(目前触及)时,发送模块必须指定收发双方模块的网络地址与端点。
例如从A模块(0x1234)10号端点发给B模块(0x0000)6号端点。编号由0到255
2. 端点要使用则必须要和某个任务挂钩定义
(应用层的任务事件处理函数)
3. 一个端点只能挂在一个任务上,而一个任务可以挂钩多个端点,且端点对所有任务公用,定义一个少一个
(在应用层的Init中可以查看到端点的生成与应用层任务绑定的过程)
无线数据包在底层任务,判断端口与哪个任务挂钩,然后无线数据包发送一个消息给任务处理函数
簇(ClusterId)
簇是端点中接收的最终目标。簇有2个字节编号。无线数据包最终是由簇接收的。在应用层MessageMSGCB函数中可以看到,根据簇进行分类处理。
现在再来回顾看一下发送数据包的命令,又可以看懂更多参数了
AF_DataRequest( &GenericApp_DstAddr, //目标地址 0x0000
&GenericApp_epDesc, //自己的端点详情 结构体叫端点描述符。其中有源端点的各项信息
GENERICAPP_CLUSTERID, //目标端点簇ID 1
(byte)osal_strlen(theMessageData) + 1, //发送数据长度
(byte *)&theMessageData, //数据地址
&GenericApp_TransID, //发送ID 是个全局变量,也可以当作应用层任务数据包发送次数计数器
AF_DISCV_ROUTE,
AF_DEFAULT_RADIUS
);
收藏
点赞
0
个赞
请登录后评论
TOP
切换版块
强势占楼一波~