您的位置:首页 > 其它

ZigBee TI ZStack CC2530 4.14 广播通信

2017-08-27 00:30 489 查看
(配套源码软件开发板等资源,可移步博客同名QQ群:拿破仑940911

前面两节中,我们详细介绍了ZigBee的第一种无线通信方式——单播;本节中,我们将介绍ZigBee的第二种无线通信方式——广播。

(仅描述与单播通信不同之处)
本节中实现的功能为:三个以上ZigBee设备组网成功后,网络中任意一个设备按下KEY1,网络中其余ZigBee设备上的LED1状态均会取反,同时串口也会打印出接收到的广播数据。
1、广播发送函数,声明及定义如下:
......
static void ProjectApp_SendBroadcast( void );
......
static void ProjectApp_SendBroadcast( void )
{
char theMessageData[ ] = "Broadcast data\r\n";

ProjectApp_DstAddr.addrMode       = (afAddrMode_t)AddrBroadcast;
ProjectApp_DstAddr.endPoint       = PROJECTAPP_ENDPOINT;
ProjectApp_DstAddr.addr.shortAddr = NWK_BROADCAST_SHORTADDR_DEVALL;//NWK_PAN_COORD_ADDR;

AF_DataRequest( &ProjectApp_DstAddr,
&ProjectApp_epDesc,
PROJECTAPP_CLUSTERID,
(byte)osal_strlen( theMessageData ) + 1,
(byte *)&theMessageData,
&ProjectApp_TransID,
AF_DISCV_ROUTE,
AF_DEFAULT_RADIUS
);
}
相信这个函数的定义大家一眼也能看明白~
2、实验验证(1)调用广播发送函数
static void ProjectApp_HandleKeys( uint8 shift, uint8 keys )
{
  ......
  if ( keys & HAL_KEY_SW_1 )
  {
//    HalLedSet(HAL_LED_1,HAL_LED_MODE_TOGGLE);
//    ProjectApp_SendUnicast16();
    ProjectApp_SendBroadcast();
  }
  ......
}
(2)编译下载
在IAR左侧的Workspace中,一个ZigBee设备选择CoordinatorEB编译下载,其余所有的ZigBee设备任意选择RouterEB或EndDeviceEB编译下载,如下图所示进行选择;



(3)实验现象所有的ZigBee设备上电后,会发现,无论按下哪个ZigBee设备上的KEY1,其余所有的ZigBee设备上的LED1状态都会取反,同时协调器的串口每次都会打印出“Broadcast data”;



(配套源码软件开发板等资源,可移步博客同名QQ群:拿破仑940911
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: