ZigBee TI ZStack CC2530 4.14 广播通信
【配套源碼、文檔、軟件、硬件等資源,入口見文末】
前面兩節(jié)中,我們詳細介紹了ZigBee的第一種無線通信方式——單播;本節(jié)中,我們將介紹ZigBee的第二種無線通信方式——廣播。
(僅描述與單播通信不同之處)
本節(jié)中實現(xiàn)的功能為:三個以上ZigBee設(shè)備組網(wǎng)成功后,網(wǎng)絡中任意一個設(shè)備按下KEY1,網(wǎng)絡中其余ZigBee設(shè)備上的LED1狀態(tài)均會取反,同時串口也會打印出接收到的廣播數(shù)據(jù)。
1、廣播發(fā)送函數(shù),聲明及定義如下:
...... 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); } 相信這個函數(shù)的定義大家一眼也能看明白~2、實驗驗證
(1)調(diào)用廣播發(fā)送函數(shù)
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左側(cè)的Workspace中,一個ZigBee設(shè)備選擇CoordinatorEB編譯下載,其余所有的ZigBee設(shè)備任意選擇RouterEB或EndDeviceEB編譯下載,如下圖所示進行選擇;
(3)實驗現(xiàn)象所有的ZigBee設(shè)備上電后,會發(fā)現(xiàn),無論按下哪個ZigBee設(shè)備上的KEY1,其余所有的ZigBee設(shè)備上的LED1狀態(tài)都會取反,同時協(xié)調(diào)器的串口每次都會打印出“Broadcast data”;
【配套源碼、文檔、軟件、硬件等資源,入口見文末】
總結(jié)
以上是生活随笔為你收集整理的ZigBee TI ZStack CC2530 4.14 广播通信的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sae php 短信,中国电信翼聊短信P
- 下一篇: 6月18日IT行业每日精彩微博TOP10