4.組播-多終端控制協(xié)調(diào)器led_第1頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、4.組播-多終端控制協(xié)調(diào)器 LED實(shí)驗(yàn)內(nèi)容:1.2.3.實(shí)驗(yàn)多終端通訊實(shí)現(xiàn)組播通訊,協(xié)調(diào)器不響應(yīng)其它組發(fā)過來的數(shù)據(jù)掌握 Led 開關(guān)提示:由于組播需要三個節(jié)點(diǎn)才能真正完成此實(shí)驗(yàn),一個協(xié)調(diào)器,兩個終端。如果只有兩個節(jié)點(diǎn)就只能完成部分內(nèi)容了。其實(shí)代碼并不復(fù)雜,看看代碼也就清楚組播是怎么回事了。 實(shí)現(xiàn)現(xiàn)象:三個節(jié)點(diǎn),一個節(jié)點(diǎn)做協(xié)調(diào)器,另外兩個節(jié)點(diǎn)做終端。按終端 S1 鍵時,協(xié)調(diào)器 Led2 狀態(tài)改變同時終端自身的 Led2 狀態(tài)也改變,提示發(fā)送成功。修改其中一個終端的組載后,按此終端 S1 鍵時,此時看協(xié)調(diào)器 Led2 狀態(tài)是否會改變。,編譯下實(shí)驗(yàn)詳解:打開.CC2530第5章 zigbee協(xié)議棧應(yīng)

2、用與組網(wǎng)4.組播-多終端控制協(xié)調(diào)器LEDZStack-2.5.1aProjectszstackSlesSleAppCC2530DBSleApp.eww工程。由于此實(shí)驗(yàn)中就是基于TI的SleApp修改的,由于SleApp本身就有組播的代碼,只需修改小部分代碼就可實(shí)現(xiàn)實(shí)驗(yàn)的功能了,現(xiàn)在告訴大家怎么修改。1.在全局變量區(qū)定義一個全局變量,用來保存當(dāng)前Led的狀態(tài)/* GLOBAL VARIABLES*/u8 LedSe = 0;/保存當(dāng)前Led的狀態(tài)2. 在SleApp_ProsEven函數(shù)找到如下代碼:1.2.3.4.5.6.7.8.case ZDO_SE_CHANGE:/當(dāng)網(wǎng)絡(luò)狀態(tài)改變,所有節(jié)點(diǎn)

3、都會發(fā)生Sif|leApp_NwkSe =(devSes_t)(MSGpkt-hdr.sus);( (S (S(SleApp_NwkS leApp_NwkS leApp_NwkSe = DEV_ZB_COORD) e = DEV_ROUTER)e = DEV_END_DEVICE)/協(xié)議器不用發(fā)送所以/路由器/終端設(shè)備|)/Starding theperiodic message in a regularerval./osal_start_timerEx( SleApp_TaskID,/S/SLEAPP_SEND_PERIODIC_MSG_EVT, LEAPP_SEND_PERIODIC_MS

4、G_TIMEOUT );9.注釋osal_start_timerEx這行代碼,此實(shí)驗(yàn)沒有周期性事件。修改后如紅色代碼所示。3. 找到按鍵處理函數(shù)SleApp_HandleKeysvoid SleApp_HandleKeys( u8 shift, u8 keys )(void)shift;/entionally unreferenced parameter/判斷S1按鍵是否被按下,由于TI用的5向按鍵,和的開發(fā)板IO有所不同市安聯(lián)德科技專業(yè)專注無線通訊 勇于創(chuàng)新追求卓越品質(zhì)1if ( keys & HAL_KEY_SW_6 )#if defined(ZDO_COORDINATOR)/協(xié)調(diào)器只接收

5、數(shù)據(jù)#else S/路由器和終端才發(fā)送數(shù)據(jù)/以組播方式發(fā)數(shù)據(jù)leApp_SendFlashMessage(0);#endifif (/*/keys & HAL_KEY_SW_1 )/判斷S2按鍵是否被按下The Flashrd issent to Group 1.device in and out of group 1.This key toggles thisIf this device doesnt belong to group 1, this applicationwill not receive theFlashd sentto group 1.aps_Group_t *grp;/查

6、找SLEAPP_ENDPO端點(diǎn)是否加入了以S LEAPP_ENDPO,LEAPP_FLASH_GROUP為組ID的組 LEAPP_FLASH_GROUP );grp = aps_FindGroup( if ( grp )/ Remove from the aps_RemoveGroup( SelseSSgroupLEAPP_ENDPO, SLEAPP_FLASH_GROUP );/退出組/ Add to the aps_AddGroup(flash groupSLEAPP_ENDPO,&SleApp_Group );/加入組4.接收數(shù)據(jù)找到SleApp_MessageMSGCB函數(shù)void S

7、uleApp_MessageMSGCB(ingMSGPacket_t *pkt ) /接收數(shù)據(jù)8 data;switch ( pkt-clusterId )case Sbreak;LEAPP_PERIODIC_CLUSTERID:case SLEAPP_FLASH_CLUSTERID:data = (u8)pkt-cmd.Data0;/根據(jù)接收到的數(shù)據(jù)改變Led2的亮滅市安聯(lián)德科技專業(yè)專注無線通訊 勇于創(chuàng)新追求卓越品質(zhì)2if(data = 0)HalLedSe elseHalLedSe break;L_LED_2, HAL_LED_MODE_OFF);L_LED_2, HAL_LED_MODE

8、_ON);組播發(fā)送數(shù)據(jù) 找到SleApp_SendFlashMessage函數(shù)5.void SLedSleApp_SendFlashMessage( u16 flashTime )e = LedSe;/Led狀態(tài)取反if ( AF_DataRequest( &SS 1,leApp_Flash_DstAddr, &SleApp_epDesc,LEAPP_FLASH_CLUSTERID,&LedS &Se, leApp_TransID,AF_DISCV_ROUTE, AF_DEFAULT_RADIUS ) = afSus_SUCS )if(LedSe = 0)/切換自身狀態(tài)提示用戶操作成功L_LE

9、D_2, HAL_LED_MODE_ON);HalLedSe elseHalLedSeL_LED_2, HAL_LED_MODE_OFF);else/ Error occurred in request to send.如果想用其它組號通訊時,修改SLEAPP_FLASH_GROUP宏定義,并將SleApp_Init()改成以下代碼即可,或者打開代碼中的注釋:/ Setup for the flashds destination address - Group 1S S S/SleApp_Flash_DstAddr.addrMode = (afAddrMode_t)afAddrGroup;leApp_Flash_DstAddr.endPo= SLEAPP_ENDPO;leApp_Flash_DstAddr.addr.shortAddr = SLEAPP_FLASH_GROUP; /組

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論