Z-Stack中SimpleApp控制節(jié)點(diǎn)建立網(wǎng)絡(luò)的過程

Z-Stack中SimpleApp控制節(jié)點(diǎn)建立網(wǎng)絡(luò)的過程

ID:38104358

大小:98.45 KB

頁數(shù):4頁

時間:2019-06-06

Z-Stack中SimpleApp控制節(jié)點(diǎn)建立網(wǎng)絡(luò)的過程_第1頁
Z-Stack中SimpleApp控制節(jié)點(diǎn)建立網(wǎng)絡(luò)的過程_第2頁
Z-Stack中SimpleApp控制節(jié)點(diǎn)建立網(wǎng)絡(luò)的過程_第3頁
Z-Stack中SimpleApp控制節(jié)點(diǎn)建立網(wǎng)絡(luò)的過程_第4頁
資源描述:

《Z-Stack中SimpleApp控制節(jié)點(diǎn)建立網(wǎng)絡(luò)的過程》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫

1、Z-Stack中SimpleApp控制節(jié)點(diǎn)建立網(wǎng)絡(luò)的過程(2010-12-0713:51)分類:ZigBee技術(shù)學(xué)習(xí)當(dāng)控制節(jié)點(diǎn)上電后,首先經(jīng)歷一系列的初始化工作,最終在sapi層設(shè)置進(jìn)入事件,然后通過任務(wù)事件處理函數(shù)對該事件進(jìn)行處理,當(dāng)讀取NV的啟動模式選項(xiàng)時,zb_ReadConfiguration(ZCD_NV_STARTUP_OPTION,sizeof(uint8),&startOptions);在編譯選項(xiàng)中進(jìn)行了設(shè)備,非自動啟動模式,判斷為非自動啟動,因此看到控制節(jié)點(diǎn)的LED_2閃爍,HalLedBlink(HAL_LED_2,0

2、,50,500);操作系統(tǒng)等待其他事件發(fā)生。當(dāng)按下按鍵S1后,由于在sapi層注冊了按鍵事件,因此會發(fā)送KEY_CHANGE消息到sapi層,當(dāng)收到KEY_CHANGE消息后,sapi層的任務(wù)事件處理函數(shù)調(diào)用:zb_HandleKeys(((keyChange_t*)pMsg)->state,((keyChange_t*)pMsg)->keys);然后將設(shè)備邏輯類型(協(xié)調(diào)器)寫入到NV,并將自動啟動模式寫入到NV:zb_WriteConfiguration(ZCD_NV_LOGICAL_TYPE,sizeof(uint8),&logica

3、lType);zb_WriteConfiguration(ZCD_NV_STARTUP_OPTION,sizeof(uint8),&startOptions);最后重新啟動:zb_SystemReset();重新啟動后,依然進(jìn)入通過任務(wù)事件處理函數(shù)對進(jìn)入事件進(jìn)行處理,也就是ZB_ENTRY_EVENT當(dāng)讀取NV的啟動模式選項(xiàng)時,判斷為自動啟動,然后調(diào)用:zb_StartRequest();緊接著調(diào)用ZDO層的初始化設(shè)備函數(shù):ZDOInitDevice(zgStartDelay);在該函數(shù)中設(shè)置了NV網(wǎng)絡(luò)狀態(tài),并修改了當(dāng)前設(shè)備狀態(tài):netw

4、orkStateNV=ZDO_INITDEV_NEW_NETWORK_STATE;devState=DEV_INIT;最終觸發(fā)網(wǎng)絡(luò)初始化函數(shù):ZDApp_NetworkInit(extendedDelay);設(shè)置網(wǎng)絡(luò)初始化事件:osal_set_event(ZDAppTaskID,ZDO_NETWORK_INIT);ZDO層的任務(wù)事件處理函數(shù)對網(wǎng)絡(luò)初始化事件進(jìn)行處理,即啟動該設(shè)備:ZDO_StartDevice((uint8)ZDO_Config_Node_Descriptor.LogicalType,devStartMode,DEFAU

5、LT_BEACON_ORDER,DEFAULT_SUPERFRAME_ORDER);此時將改變設(shè)備狀態(tài)為協(xié)調(diào)器啟動:devState=DEV_COORD_STARTING;并根據(jù)設(shè)備邏輯類型和啟動模式調(diào)用NWK層網(wǎng)絡(luò)形成請求函數(shù):NLME_NetworkFormationRequest(zgConfigPANID,zgApsUseExtendedPANID,zgDefaultChannelList,zgDefaultStartingScanDuration,beaconOrder,superframeOrder,false);其中,個域網(wǎng)

6、ID號和默認(rèn)通道號在f8wConfig.Cfg中定義:-DZDAPP_CONFIG_PAN_ID=0xFFFF//PAN_ID-DDEFAULT_CHANLIST=0x00000800//11-0x0B信道號當(dāng)NWK層通過調(diào)用MAC和PHY層相關(guān)功能函數(shù)執(zhí)行一些列網(wǎng)絡(luò)形成動作后,NWK層將接收到網(wǎng)絡(luò)形成反饋,這里的很多網(wǎng)絡(luò)層MAC層的函數(shù)都不是開源的,可能會看不到源代碼。即:ZDO_NetworkFormationConfirmCB()設(shè)置網(wǎng)絡(luò)啟動事件:osal_set_event(ZDAppTaskID,ZDO_NETWORK_STAR

7、T);ZDO層任務(wù)事件處理函數(shù)將執(zhí)行網(wǎng)絡(luò)啟動事件處理:ZDApp_NetworkStartEvt();此時將改變設(shè)備狀態(tài)為協(xié)調(diào)器,并且保證電源供電:devState=DEV_ZB_COORD;osal_pwrmgr_device(PWRMGR_ALWAYS_ON);而且設(shè)置ZDO狀態(tài)改變事件:osal_set_event(ZDAppTaskID,ZDO_STATE_CHANGE_EVT);ZDO層任務(wù)事件處理函數(shù)將執(zhí)行ZDO更新網(wǎng)絡(luò)狀態(tài)事件處理:ZDO_UpdateNwkStatus(devState);此時搜索端點(diǎn)列表,尋找曾經(jīng)在sap

8、i層注冊過的端點(diǎn)號,并且將ZDO狀態(tài)改變消息發(fā)送給這些端點(diǎn):zdoSendStateChangeMsg(state,*(pItem->epDesc->task_id));而且確定控制節(jié)點(diǎn)(此時

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。