zigbee笔记:十二、单播通信单字符、字符串收发

      

一、zigbee四种通讯

        1、单播:在Zigbee网络里,模块之间进行通信,发送模块非常明确知道接收模块的网络地址,以这个地址发送数据给接收模块,叫做单播。

        2、广播(略)

        3、组播(略)

        4、绑定(略)

        PS:zigbee模块的网络地址的特点:当模块入网时,父节点随机分配网络地址给子节点;协调器作为网络中的第一个节点,它的网络地址固定是0x0000。

  二、单播字符收发实验

        本次做的实验是一共两个模块,协调器作为接收方,终端作为发送方。实现终端按键1按下,发送数据包;协调器收到数据包后,LED亮灭翻转,将数据包中的有效数据发送给电脑上位机。

        本次实验的代码是在zigbee笔记:十一 实验基础上完成的。

        1、发送端(终端)代码配置

        实现效果:按下按钮KEY1,将数据发送出去。

        1)首先在smartHomeApp.c中找到smartHomeApp_ProcessZDOMsgs函数。

        选择如下代码,提取出来。

smartHomeApp_DstAddr.addrMode = (afAddrMode_t)Addr16Bit;
smartHomeApp_DstAddr.addr.shortAddr = pRsp->nwkAddr;
smartHomeApp_DstAddr.endPoint = pRsp->epList[0];
/*
 smartHomeApp_DstAddr.addr.shortAddr = pRsp->nwkAddr中的
pRsp->nwkAddr表示接收方地址,改为0x0000,作为我们的协调器地址(接收方);

*/
smartHomeApp_DstAddr.addrMode = (afAddrMode_t)Addr16Bit;
smartHomeApp_DstAddr.addr.shortAddr = 0x000;
smartHomeApp_DstAddr.endPoint = pRsp->epList[0];

        2)然后在smartHomeApp_Init找到smartHomeApp_ENDPOINT,将其提取出来。

        将smartHomeApp_DstAddr.endPoint = pRsp->epList[0]中的pRsp->epList[0]替换为smartHomeApp_ENDPOINT。

smartHomeApp_DstAddr.addrMode = (afAddrMode_t)Addr16Bit;
smartHomeApp_DstAddr.addr.shortAddr = 0x000;
smartHomeApp_DstAddr.endPoint = pRsp->epList[0];

/*
将smartHomeApp_DstAddr.endPoint = p
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值