int8u ostaskdel (int8u prio)函式用於刪除任務
prio:需要刪除的任務的優先順序
當乙個任務不需要執行的話,我們就可以將其刪除掉,刪除任務不是說刪除任務**,而是不再管理這個任務,在有些應用中我們只需要某個任務執行一次,執行完成後就將其刪除掉。雖然允許在系統執行的時候刪除任務,但是應該盡量避免這種操作。
int8u ostasksuspend(int8u prio)
prio: 需要掛起的任務的優先順序
有些時候需要任務暫停執行,但是以後還要執行,因此我們不能刪除掉任務,可以使用本函式將任務掛起,以後再恢復執行
int8u ostaskresume(int8u prio)
prio: 需要恢復的任務的優先順序
將掛起的任務進行恢復,使任務繼續執行
#define start_task_prio 10
#define start_stk_size 64
os_stk start_task_stk[start_stk_size];
void starttask(void *p_arg);
#define led0_task_prio 7
#define led0_stk_size 64
os_stk led0_task_stk[led0_stk_size];
void led0task(void *p_arg);
#define led1_task_prio 6
#define led1_stk_size 64
os_stk led1_task_stk[led1_stk_size];
void led1task(void *p_arg);
int main()
//開始任務,建立兩個任務後在後面不再使用,刪除掉開始任務
void starttask(void *p_arg)
//任務1
void led0task(void *p_arg)
if(time == 20)
}}//任務2
void led1task(void *p_arg)
}
雖然
ucos ii 任務的刪除
建立任務的過程,首先分配乙個空閒的tcb給任務,然後對該tcb的各個域進行賦值,對任務的堆疊進行初始化,其中,任務的 的位址被壓入堆疊。這為以後任務的執行做了充分準備。就緒表和就緒組做了適當的處理,根據任務的優先順序進行了設定。就緒tcb鍊錶也插入了該tcb。那麼若將任務刪除,就是任務建立的逆過程,...
任務的建立 掛起和恢復
ucosii有兩個建立任務的函式 ostaskcreate 和ostaskcreateext 其中ostaskcreateext 是ostaskcreate 的擴充套件。並提供了一些附加功能。int8u ostaskcreate void task void pd 指向任務的指標 void pdat...
C OS II 示例 ucos任務的掛起與刪除
1 設計乙個只有乙個任務mytask的應用程式。2 在 1 的任務mytask中再建立乙個任務yourtask。要求當任務yourtask執行20次後,掛起任務mytask 當任務yourtask執行40次後,恢復任務mytask。要求任務mytask和任務yourtask執行一段時間後,使任務my...