生活随笔
收集整理的這篇文章主要介紹了
读取cc2530节点的设备类型、协调器、路由器、终端。
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
建立網絡、加入網絡流程分析
? ?協調器節點:在1-10 ?實驗8 網絡通信實驗2 組播通信中
?
?while(MSGpkt)?????{???????switch(MSGpkt->hdr.event)??????{ ?????case?ZDO_STATE_CHANGE:????????GenericApp_NwkState=(devStates_t)(MSGpkt->hdr.status);??????if(GenericApp_NwkState==DEV_ZB_COORD)??????{?????????HalLedBlink(HAL_LED_2,0,50,500);???????????aps_AddGroup(GENERICAPP_ENDPOINT,&GenericApp_Group);?????????osal_start_timerEx(GenericApp_TaskID,SEND_TO_ALL_EVENT,5000);????????} ?? 路由器節點: 在1-10 ?實驗8 網絡通信實驗2 組播通信中
?
?
?while(MSGpkt)??????{????????switch(MSGpkt->hdr.event)????????{?????case?ZDO_STATE_CHANGE:?????????GenericApp_NwkState=(devStates_t)(MSGpkt->hdr.status);??????if(GenericApp_NwkState==DEV_ROUTER)????????{??????????aps_AddGroup(GENERICAPP_ENDPOINT,&GenericApp_Group);???????}????????break; ?終端節點:1-5 ? 實驗4 ? 串口通信2
?
?
? ??while(MSGpkt)??????{????????switch(MSGpkt->hdr.event)????????{??????case?ZDO_STATE_CHANGE:????????GenericApp_NwkState=(devStates_t)(MSGpkt->hdr.status);??????if(GenericApp_NwkState==DEV_END_DEVICE)????????{??????????????????osal_set_event(GenericApp_TaskID,SEND_DATA_EVENT);??????}????????break;??
?
而上面的?GenericApp_NwkState是devStates_t?GenericApp_NwkState;這樣定義的,用于
?
[cpp]?view plaincopy
typedef?enum??{????DEV_HOLD,?????????????????DEV_INIT,?????????????????DEV_NWK_DISC,?????????????DEV_NWK_JOINING,??????????DEV_NWK_REJOIN,???????????DEV_END_DEVICE_UNAUTH,????DEV_END_DEVICE,???????????DEV_ROUTER,???????????????DEV_COORD_STARTING,???????DEV_ZB_COORD,?????????????DEV_NWK_ORPHAN??????????}?devStates_t;?? 剛開始時,都是在GenericApp_Init()函數中將GenericApp_NwkState=DEV_INIT。然后再通過哪幾步轉到為上面三種情況DEV_ZB_COORD、DEV_ROUTER、DEV_END_DEVICE中的一種。
?
TI協議棧是半開源的,網絡層代碼并不開源。運行于端口0的ZDO負責應用層用戶程序和網絡層之間的通信。
網絡層的建立過程是由ZDO來實現的。網絡建立后應用層會接受到ZDO_STATE_CHANGE消息。使用下面語句就可以讀取當前網絡的狀態。
GenericApp_NwkState=(devStates_t)(MSGpkt->hdr.status);
轉載于:https://www.cnblogs.com/yihujiu/p/5690390.html
總結
以上是生活随笔為你收集整理的读取cc2530节点的设备类型、协调器、路由器、终端。的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。