任務的基本管理 實驗報告_第1頁
任務的基本管理 實驗報告_第2頁
任務的基本管理 實驗報告_第3頁
任務的基本管理 實驗報告_第4頁
任務的基本管理 實驗報告_第5頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、實驗題目任務的基本管理學院名稱:電子與信息工程學院專業:x實驗目的:理解任務管理的基本原理,了解任務的各個基本狀態及其變遷過程;掌握瓦/OS-II中任務管理的基本方法(創建、啟動、掛起、解掛任務);熟練使用瓦/OS-II任務管理的基本系統調用。實驗內容:為了展現任務的各種基本狀態及其變遷過程,本實驗需要各位設計兩個任務:任務TaskO控制2個LED,以0.5S為周期閃爍,任務Taskl在TaskO中創建,控制2個LED,以1S為周期閃爍,5S后Taskl將自己刪除。觀察實驗現象。實驗原理:OSTaskCreate()建立一個新任務。任務的建立可以在多任務環境啟動之前,也可以在正在運行的任務中建

2、立。中斷處理程序中不能建立任務。一個任務可以為無限循環的結構。函數原型:INT8UOSTaskCreate(void(*task)(void*pd),void*pdata,OS_STK*ptos,INT8Uprio);參數說明:task是指向任務代碼首地址的指針。Pdata指向一個數據結構,該結構用來在建立任務時向任務傳遞參數。OSTaskSuspend()無條件掛起一個任務。調用此函數的任務也可以傳遞參數OS_PRIO_SELF,掛起調用任務本身。當前任務掛起后,只有其他任務才能喚醒被掛起的任務。任務掛起后,系統會重新進行任務調度,運行下一個優先級最高的就緒任務。喚醒掛起任務需要調用函數OS

3、TaskResume()。OSTaskResume()喚醒一個用OSTaskSuspend()函數掛起的任務。OSTaskResume()也是唯一能“解掛”掛起任務的函數。實驗步驟:打開uCOS的空白模版修改主程序使其達到實驗內容的要求并仿真直至程序無誤將程序燒入試驗箱中,運行,觀察實驗結果;實驗程序:(省略頭文件和部分定義)刪除任務:/*任務1*/staticvoidLedTask1(void*p_arg)#ifOS_CRITICAL_METHOD=3OS_CPU_SRcpu_sr=0;#endifOSTaskCreateExt(void(*)(void*)LedTask2,(void*)0

4、,(OS_STK*)&LED_2_StkAPP_CFG_TASK_START_STK_SIZE-1,(INT8U)LED_2,(INT16U)LED_2,(OS_STK*)&LED_2_Stk0,(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_O

5、FF_16();LED_OFF_17();OS_EXIT_CRITICAL();/*任務2*/staticvoidLedTask2(void*p_arg)inti;#ifOS_CRITICAL_METHOD=3OS_CPU_SRcpu_sr=0;#endiffor(i=0;i5;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

6、);掛起和恢復:/*任務1*/staticvoidLedTask1(void*p_arg)INT8Us=0;#ifOS_CRITICAL_METHOD=3OS_CPU_SRcpu_sr=0;#endifOSTaskCreateExt(void(*)(void*)LedTask2,(void*)0,(OS_STK*)&LED_2_StkAPP_CFG_TASK_START_STK_SIZE-1,(INT8U)LED_2,(INT16U)LED_2,(OS_STK*)&LED_2_Stk0,(INT32U)APP_CFG_TASK_START_STK_SIZE,(void*)0,(INT16U)(

7、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=3OS_CPU_SRcpu_sr=0;#endifwhile(1)OS_ENTER_CRITICAL();OSTimeDlyHMSM(0,0,1,0);LED_ON_19();LED_ON

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論