




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
x實驗題目任務的基本管理學院名稱:電子與信息工程學院專業:x1.實驗目的:理解任務管理的基本原理,了解任務的各個基本狀態及其變遷過程;掌握μC/OS-II中任務管理的基本方法(創建、啟動、掛起、解掛任務);熟練使用μC/OS-II任務管理的基本系統調用。2.實驗內容:為了展現任務的各種基本狀態及其變遷過程,本實驗需要各位設計兩個任務:任務Task0控制2個LED,以0.5S為周期閃爍,任務Task1在Task0中創建,控制2個LED,以1S為周期閃爍,5S后Task1將自己刪除。觀察實驗現象。3.實驗原理:OSTaskCreate()建立一個新任務。任務的建立可以在多任務環境啟動之前,也可以在正在運行的任務中建立。中斷處理程序中不能建立任務。一個任務可以為無限循環的結構。函數原型:INT8UOSTaskCreate(void(*task)(void*pd),void*pdata,OS_STK*ptos,INT8Uprio);參數說明:task是指向任務代碼首地址的指針。Pdata指向一個數據結構,該結構用來在建立任務時向任務傳遞參數。OSTaskSuspend()無條件掛起一個任務。調用此函數的任務也可以傳遞參數OS_PRIO_SELF,掛起調用任務本身。當前任務掛起后,只有其他任務才能喚醒被掛起的任務。任務掛起后,系統會重新進行任務調度,運行下一個優先級最高的就緒任務。喚醒掛起任務需要調用函數OSTaskResume()。OSTaskResume()喚醒一個用OSTaskSuspend()函數掛起的任務。OSTaskResume()也是唯一能“解掛”掛起任務的函數。4.實驗步驟:1.打開uCOS的空白模版2.修改主程序使其達到實驗內容的要求并仿真直至程序無誤;3.將程序燒入試驗箱中,運行,觀察實驗結果;實驗程序:(省略頭文件和部分定義)1.刪除任務:/*任務1*/staticvoidLedTask1(void*p_arg){ #ifOS_CRITICAL_METHOD==3 OS_CPU_SRcpu_sr=0; #endifOSTaskCreateExt((void(*)(void*))LedTask2,(void*)0,(OS_STK*)&LED_2_Stk[APP_CFG_TASK_START_STK_SIZE-1],(INT8U)LED_2,(INT16U)LED_2,(OS_STK*)&LED_2_Stk[0],(INT32U)APP_CFG_TASK_START_STK_SIZE,(void*)0,(INT16U)(OS_TASK_OPT_STK_CHK|OS_TASK_OPT_STK_CLR)); while(1) { OS_ENTER_CRITICAL(); OSTimeDlyHMSM(0,0,0,500); LED_ON_16();LED_ON_17(); OSTimeDlyHMSM(0,0,0,500); LED_OFF_16();LED_OFF_17(); OS_EXIT_CRITICAL(); }}/*任務2*/staticvoidLedTask2(void*p_arg){inti; #ifOS_CRITICAL_METHOD==3 OS_CPU_SRcpu_sr=0; #endif for(i=0;i<5;i++) { OS_ENTER_CRITICAL(); OSTimeDlyHMSM(0,0,1,0); LED_ON_18();LED_ON_19(); OSTimeDlyHMSM(0,0,1,0); LED_OFF_18();LED_OFF_19(); OS_EXIT_CRITICAL(); }OSTaskDel(OS_PRIO_SELF);}2.掛起和恢復:/*任務1*/staticvoidLedTask1(void*p_arg){INT8Us=0; #ifOS_CRITICAL_METHOD==3 OS_CPU_SRcpu_sr=0; #endifOSTaskCreateExt((void(*)(void*))LedTask2,(void*)0,(OS_STK*)&LED_2_Stk[APP_CFG_TASK_START_STK_SIZE-1],(INT8U)LED_2,(INT16U)LED_2,(OS_STK*)&LED_2_Stk[0],(INT32U)APP_CFG_TASK_START_STK_SIZE,(void*)0,(INT16U)(OS_TASK_OPT_STK_CHK|OS_TASK_OPT_STK_CLR)); while(1) { OS_ENTER_CRITICAL(); OSTimeDlyHMSM(0,0,0,500); LED_ON_17();LED_ON_18(); OSTimeDlyHMSM(0,0,0,500); LED_OFF_17();LED_OFF_18(); OS_EXIT_CRITICAL();s++;if(s==10)OSTaskResume(LED_2); }}/*任務2*/staticvoidLedTask2(void*p_arg){INT8Un=0; #ifOS_CRITICAL_METHOD==3 OS_CPU_SRcpu_sr=0; #endif while(1) { OS_ENTER_CRITICAL(); OSTimeDlyHMSM(0,0,1,0); LED_ON_19();LED_ON_20();
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025員工雇傭合同協議書范本
- 2025附條件股權轉讓合同范本
- 2025在線繼續教育服務合同
- 2025債權轉讓合同模板
- 2025的企業與個人之間的借款合同范本
- 2025企業廢料回收處理合同范本
- 工地庫房值班管理制度
- 醫院科室排外管理制度
- 單位公共雨傘管理制度
- 共享汽車安全管理制度
- 人類精子庫庫存管理面臨的問題及解決策略
- 食堂服務禮儀培訓
- 2025年中國六硼化鑭粉末市場調查研究報告001
- 醫院中央空調系統運行管理制度
- 2022年內蒙古自治區高等職業院校對口招收中等職業學校畢業生單獨考試英語試卷
- 糖尿病逆轉治療
- 第15課 兩次鴉片戰爭 說課稿 -2024-2025學年高一統編版2019必修中外歷史綱要上冊
- DB36-T 1987-2024 公路工程建設項目首件工程制實施管理指南
- DB32/T 4880-2024民用建筑碳排放計算標準
- 地上停車位出租協議
- 勞動與社會保障專業大學生職業生涯發展
評論
0/150
提交評論