zigbee應用分析

zigbee應用分析

ID:41010893

大?。?02.00 KB

頁數(shù):12頁

時間:2019-08-13

zigbee應用分析_第1頁
zigbee應用分析_第2頁
zigbee應用分析_第3頁
zigbee應用分析_第4頁
zigbee應用分析_第5頁
資源描述:

《zigbee應用分析》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在工程資料-天天文庫

1、初始化因為Z-Stack是在OS下運行的,所以在之前必須調(diào)用osalAddTasks()初始化任務。組織關于OS的API函數(shù)介紹請看文檔:Z-Stack?OSAL?API?(F8W-2003-0002),應該說協(xié)議棧的每層或者說每部分都有相關的API說明文檔。osalAddTasks()初始化任務,?osalTaskAdd()函數(shù)添加任務,都可以到API文檔或程序中詳細分析函數(shù)功能。系統(tǒng)服務OSAL和APL系統(tǒng)服務是唯一的,因為比如按鍵和串口類似事件處罰就只能用唯一的一個任務標識。這兩個硬件都留給了用戶自己定義使用。應用設計用戶可能為每一個應用對象都創(chuàng)建一

2、個任務,或者為所有的應用對象只創(chuàng)建一個任務。當選擇上述的設計的時候,下面是一些設計思路:為許多應用對象創(chuàng)建一個OSAL任務下面是正面和反面(pros?&?cons)的一些敘述:-?Pro:接受一個互斥任務事件(開關按下或串口)時,動作是單一的。-?Pro:需要堆棧空間保存一些OSAL任務結構。-?Con:接收一個AF信息或一個AF數(shù)據(jù)確認時,動作是復雜的-----在一個用戶任務上,分支多路處理應用對象的信息事件。-?Con:通過匹配描述符(如:自動匹配)去發(fā)現(xiàn)服務的處理過程更復雜-----為了適當?shù)膶DO_NEW_DSTADDR信息起作用,一個靜態(tài)標志必

3、須被維持。為一個應用對象創(chuàng)建一個OSAL任務:一對一設計的反面和正面(pros?&?cons)是與上面一對多設計相反的:-?Pro:在應用對象試圖自動匹配時,僅僅一個ZDO_NEW_DSTADDR被接收。-?Pro:已經(jīng)被協(xié)議棧下層多元處理后的一個AF輸入信息或一個AF數(shù)據(jù)確認。-?Con:需要堆??臻g保存一些OSAL任務結構。-?Con:如果兩個或更多應用對象用同一個唯一的資源,接收一個互斥任務事件的動作就更復雜。強制方法任何一個OSAL任務必須用兩種方法執(zhí)行:一個是初始化,另一個是處理任務事件。任務初始化在例子中調(diào)用如下函數(shù)執(zhí)行任務初始化:“Appli

4、cation?Name”_Init(如SAPI_Init)。該任務初始化函數(shù)應該完成如下功能:變量或相應應用對象特征初始化,為了使OSAL內(nèi)存管理更有效,在這里應該分配永久堆棧存儲區(qū)。在AF層登記相應應用對象(如:afRegister())。登記可用的OSAL或HAL系統(tǒng)服務(如:RegisterForKeys())任務事件處理調(diào)用如下函數(shù)處理任務事件:“Application?Name”_ProcessEvent?(e.g.?SAPI_ProcessEvent()).除了強制的事件之外,任一OSAL任務能被定義多達15個任務事件。強制事件一個任務事件SY

5、S_EVENT_MSG?(0x8000),?被保留必須通過OSAL任務設計。SYS_EVENT_MSG?(0x8000)任務事件管理者應該處理如下的系統(tǒng)信息子集,下面只列出了部分信息,但是是最常用的幾個信息處理,推薦根據(jù)例子復制到自己項目中使用。AF_DATA_CONFIRM_CMD調(diào)用AF_DataRequest()函數(shù)數(shù)據(jù)請求成功的指示。Zsuccess確認數(shù)據(jù)請求傳輸成功,如果數(shù)據(jù)請求設置AF_ACK_REQUEST標志位,那么,只有最終目的地址成功接收后,Zsuccess確認才返回。如果數(shù)據(jù)請求沒有設置AF_ACK_REQUEST標志位,那么,數(shù)據(jù)

6、請求只要成功傳輸?shù)较绿?jié)點就返回Zsuccess確認信息。AF_INCOMING_MSG_CMDAF信息輸入指示KEY_CHANGE鍵盤動作指示ZDO_NEW_DSTADDR匹配描述符請求(Match?Descriptor?Request)響應指示。(例如:自動匹配)ZDO_STATE_CHANGE網(wǎng)絡狀態(tài)改變指示網(wǎng)絡格式化示例應用程序編譯為協(xié)調(diào)器的在default_chanlist指定的通道上形成一個網(wǎng)絡,協(xié)調(diào)器將建立一個隨機編號源于自身的IEEE地址或由zdapp_config_pan_id指定的網(wǎng)絡PAN?ID(如果zdapp_config_pan_

7、id不為0xFFFF)。示例應用程序編譯為路由器或結束設備的將嘗試加入網(wǎng)絡在default_chanlist指定的通道上,如果zdapp_config_pan_id沒有定義為0?xFFFF?,路由器將受到限制,只有加入?yún)?shù)zdapp_config_pan_id規(guī)定的網(wǎng)絡PAN?ID。自動啟動設備自動開始嘗試組建或加入網(wǎng)絡。如果設備設置為等待計時器或其他外部事件發(fā)生后才啟動,那么HOLD_AUTO_START必須被定義。為了稍后以手動啟動方式啟動設備,那么需要調(diào)用ZDApp_StartUpFromApp(函數(shù)軟件啟動為了在形成網(wǎng)絡過程中節(jié)省所需的設備類型,那

8、么所有的路由器設備可以被通過soft_star定義作為一個協(xié)調(diào)器。

當前文檔最多預覽五頁,下載文檔查看全文

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

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