

下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Zstack 的任務處理機制Zmain.c 中初始化部分重點掌握: osal_init_system(); / 初始化操作系統(tǒng)osal_start_system(); /執(zhí)行操作系統(tǒng)Z-Stack 操作系統(tǒng)初始化中: osalInitTasks(); / 初始化系統(tǒng)的任務 初始化系統(tǒng)的任務:void osalInitTasks( void )uint8 taskID = 0;/ 分配內存,返回指向緩沖區(qū)的指針tasksEvents = (uint16 *)osal_mem_alloc( sizeof( uint16 ) * tasksCnt);/ 設置所分配的內存空間單元值為 0osal_me
2、mset( tasksEvents, 0, (sizeof( uint16 ) * tasksCnt);/ 任務優(yōu)先級由高向低依次排列,高優(yōu)先級對應 taskID 的值反而小macTaskInit( taskID+ ); /macTaskInit(0),用戶不需考慮nwk_init( taskID+ ); /nwk_init(1),用戶不需考慮Hal_Init( taskID+ ); /Hal_Init(2),用戶需考慮APS_Init( taskID+ ); /APS_Init(3),用戶不需考慮ZDApp_Init( taskID+ ); /ZDApp_Init(4),用戶需考慮Gener
3、icApp_Init ( taskID ); / GenericApp_Init _Init(5) 戶需考慮注明用戶不需考慮的任務 Ti 已經(jīng)給初始化完成了,在編程的時候可以 不予考慮。我們只需要考慮硬件層和應用層的任務初始化。如:Hal_Init( taskID+ );ZDApp_Init( taskID+ );GenericApp_Init ( taskID ); 下面說一下如何在程序中加入自己的任務:在 osalInitTasks ()和 tasksArr 添加相應的項就可以了。1.修改 osalInitTasks ()Void osallnitTasks(void ).OuhsAppn
4、it(tasklD+);PhotoApp_Init(taskID);2. 修改 tasksArrConst pTaskEventHandlerFn taskArr=OuhsApp_ProcessEventPhotoApp_ProcessEvent;3.添加-Init()和 kProcessEvent()Void PhotoApp_lnit(uint8 task_id),用Uint16 PhotoApp_ProcessEvent(uint8 task_id uint16 events)以上是任務的初始化與任務的添加, 下面看以下任務是如何處理的?osal_start_system(); / 執(zhí)行
5、操作系統(tǒng)void osal_start_system( void )#if !defined ( ZBIT ) & !defined ( UBIT )for(;) / Forever Loop#endifosal_run_system();osal_run_system :void osal_run_system( void )uint8 idx = 0;osalTimeUpdate(); / 這里是在掃描哪個事件被觸發(fā)了,然后置 相應的標志位Hal_ProcessPoll(); / 硬 件 進 程 調 用 , This replaces MT_SerialPoll()and osal
6、_check_timer().do if (tasksEventsidx) / Task is highest priority that is ready.break; / 得到待處理的最高優(yōu)先級任務索引號 idx while (+idx tasksCnt);if (idx tasksCnt)uint16 events;halIntState_t intState;HAL_ENTER_CRITICAL_SECTION(intState);/ 進入臨界區(qū),保護events = tasksEventsidx; / 提取需要處理的任務中的事件tasksEventsidx = 0; / Clear
7、the Events for this task.清除本次任務的事件HAL_EXIT_CRITICAL_SECTION(intState); / 退出臨界區(qū)activeTaskID = idx;events = (tasksArridx)( idx, events ); / 通過指針調用 任務處理函數(shù),關鍵activeTaskID = TASK_NO_TASK;HAL_ENTER_CRITICAL_SECTION(intState); /進入臨界區(qū), 保 護tasksEventsidx |= events; / Add back unprocessed events to thecurrent
8、 task.保存未處理的事件HAL_EXIT_CRITICAL_SECTION(intState); /退出臨界區(qū)#if defined( POWER_SAVING )else / Complete pass through all task events with no activity?osal_pwrmgr_powerconserve(); / Put the processor/systeminto sleep#endif/* Yield in case cooperative scheduling is being used. */#if defined (configUSE_PRE
9、EMPTION) & (configUSE_PREEMPTION= 0)osal_task_yield();#endif此表的順序必須和 osalInitTask 中的順序相同:const pTaskEventHandlerFn tasksArr = macEventLoop,nwk_event_loop,Hal_ProcessEvent,#if defined( MT_TASK ) MT_ProcessEvent,#endifAPS_event_loop,#if defined ( ZIGBEE_FRAGMENTATION )APSF_ProcessEvent,#endifZDApp_event_loop,#if defined ( ZIGBEE_FREQ_AGILITY ) | defined( ZIGBEE_PANID_CONFLICT )ZDNwkMgr_event_loop,#endifGenericApp_ProcessEvent;事件的具
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度網(wǎng)絡安全股權協(xié)議元轉讓與防護解決方案合同
- 2025年度順豐快遞員工作責任及風險承擔合同
- 二零二五年度旅游服務行業(yè)勞動合同工傷賠償及責任劃分協(xié)議
- 二零二五農(nóng)村土地征收補償安置與農(nóng)村金融服務合作協(xié)議
- 食品品牌推廣合作保密協(xié)議(2025年度)
- 2025至2031年中國手推式總裝流水線行業(yè)投資前景及策略咨詢研究報告
- 2025至2030年中國風機測試系統(tǒng)數(shù)據(jù)監(jiān)測研究報告
- 石頭購銷合同范本
- 直播間裝修合同范本
- 2025至2031年中國熒光增白劑ER行業(yè)投資前景及策略咨詢研究報告
- 人教版小學數(shù)學一年級下冊課件:《找規(guī)律》獲獎課件(34張)
- 合租合同模板電子版
- 全鏈條防范和打擊代孕工作機制研究
- 教育科學研究方法(小學教育專業(yè))全套教學課件
- 《孔乙己》跨學科教學設計 2023-2024學年部編版語文九年級下冊
- 2024-2030年中國射頻集成電路(RFIC)行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報告
- SYT 0440-2021 工業(yè)燃氣輪機安裝技術規(guī)范-PDF解密
- 診所校驗現(xiàn)場審核表
- 2024屆安徽省安慶市高三下學期二?;瘜W試題及答案
- 電影活著展示課件
- 改變學習方式促進學生發(fā)展結題報告
評論
0/150
提交評論