网站大量收购闲置独家精品文档,联系QQ:2885784924

《无线短距离通信技术开发项目教程》(第二版) 课件 11 ZigBee协议栈实验:广播与单播实验.pptx

《无线短距离通信技术开发项目教程》(第二版) 课件 11 ZigBee协议栈实验:广播与单播实验.pptx

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ZigBee协议栈实验:广播与单播实验主讲:张老师 一、实验原理二、重点代码解析 三、实验结果验证标题四、数据接收 一、实验原理——基础知识储备 Zigbee网络中进行数据通信主要有三种类型:广播、单播、组播。 一、实验原理——通信方式的协议栈实现参数1:afAddrType_t *dstAddr 该参数包含了目的节点的网络地址、端点号及数据传送的模式,如单播、广播或多播等。typedef struct?? {????? Union???? {????? ? uint16 shortAddr;??????//用于标识该节点网络地址的变量?? ???} addr; afAddrMode_t addrMode;?? //用于指定数据传送模式,单播、多播还是广播?? ? byte endPoint;?????????? //端点号?? } afAddrType_t;? //?其定义在AF.h中afAddrType_t 是个结构体如下: 一、实验原理——通信方式的协议栈实现 ZigBee协议栈将数据通信过程高度抽象,使用一个函数完成数据的发送,以不同的参数来选择数据发送方式(广播、组播还是单播)。afStatus_t AF_DataRequest(afAddrType_t *dstAddr, //目的地址指针endPointDesc_t *srcEP,?//发送节点的端点描述符指针uint16 cID,??? //ClusID 簇ID号uint16 len,?? //发送数据的长度uint8 *buf,?? //指向存放发送数据的缓冲区指针uint8 *transID,//传输序列号,该序列号随着信息的发送而增加???????????????????????????????????????uint8 options, //发送选项uint8 radius?? //最大传输半径(发送的跳数)? )ZigBee协议栈中数据发送函数原型如下: 一、实验原理——通信方式的协议栈实现 上述结构体中的afAddrMode_t addrMode 就是用于指定数据传送模式,是个枚举类型,可以设置为以下几个值。typedef enum{? afAddrNotPresent = AddrNotPresent,?? //表示通过绑定关系指定目的地址 ? afAddr16Bit = Addr16Bit,???//单播发送? ?afAddrGroup = AddrGroup,???//组播 ? afAddrBroadcast = AddrBroadcast //广播} afAddrMode_t;Enum{? AddrNotPresent = 0,? AddrGroup = 1,? Addr16Bit = 2,? Addr64Bit = 3, ? AddrBroadcast = 15}; 一、实验原理——单播注意,其实单播有两种方式一种是绑定传输,一种是目标地址的单播传输。my_DstAddr.addrMode=(afAddrMode_t) AddrNotPresent,一种是直接指定目标地址的单播传输,比如协调器就是0x0000。①单播绑定传输my_DstAddr.addrMode=(afAddrMode_t)Addr16Bit;?? //单播发送my_DstAddr.endPoint=GENERICAPP_ENDPOINT;?????? //目的端口号my_DstAddr.addr.shortAddr=0;?? //按照绑定的方式进行单播,不需要指定目标地址,需要先将两个设备绑定,将两个设备绑定后即可通信②直接指定目标地址的单播传输:是标准寻址模式,它将数据包发送给一个已经知道网络地址的网络设备,将afAddrMode 设置为Addr16Bit 并且在数据包中携带目标设备地址。my_DstAddr.addrMode=(afAddrMode_t)Addr16Bit;?? //单播发送my_DstAddr.endPoint=GENERICAPP_ENDPOINT;?????? //目的端口号my_DstAddr.addr.shortAddr=0x0000;????????? //目标设备网络地址 一、实验原理——广播当应用程序需要将数据包发送给网络的每一个设备时,使用这种模式。地址模式设置为AddrBroadcast。目标地址 my_DstAddr.addr.shortAddr可以根据需求设置为下面广播地址的一种。NWK_BROADCAST_SHORTADDR_DEVALL(0xFFFF)——数据包将被传送到网络上的所有设

您可能关注的文档

文档评论(0)

balala11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档