任務建立和刪除

2021-07-26 04:54:25 字數 1273 閱讀 5058

在freertos移植到cortex-m3硬體平台的文章中,我們已經見過任務建立api,但那篇文章的重點在於如何移植freertos,本文將重點放在任務的建立和刪除api函式上面。

任務建立和刪除api函式位於檔案task.c中,需要包含task.h標頭檔案。

1.1函式描述

[objc]view plain

copy

print

?basetype_t xtaskcreate(  

taskfunction_t pvtaskcode,  

const

char

char

* const

pcname,  

unsigned short

usstackdepth,  

void

void

*pvparameters,  

ubasetype_t uxpriority,  

taskhandle_t

* pvcreatedtask  

);  

建立新的任務並加入任務就緒列表。

1.2引數描述

1.3返回值

如果任務成功建立並加入就緒列表函式返回

pdpass

,否則函式返回錯誤碼,具體參見

projdefs.h

。1.4用法舉例

[objc]view plain

copy

print

?/* 建立任務. */

void

vtaskcode( 

void

void

* pvparameters )  

}  /* 建立任務函式 */

void

votherfunction( 

void

)    

}  

2.1 任務描述

voidvtaskdelete( taskhandle_t xtask );

從rtos核心管理器中刪除乙個任務。任務刪除後將會從就緒、阻塞、暫停和事件列表中移除。在檔案freertosconfig.h中,必須定義巨集include_vtaskdelete 為1,本函式才有效。

注:被刪除的任務,其在任務建立時由核心分配的儲存空間,會由空閒任務釋放。如果有應用程式呼叫xtaskdelete(),必須保證空閒任務獲取一定的微控制器處理時間。任務**自己分配的記憶體是不會自動釋放的,因此刪除任務前,應該將這些記憶體釋放。

2.2引數描述

vxworks任務的建立和刪除

任務的建立,暫停,恢復以及刪除 設定 任務鉤子 用以觀察任務的建立和刪除 程式建立了2個任務 taska與taskb,優先順序分別為125和130 由於vxworks的優先順序從高到低為0 255,因此task1會優先執行。taska中的i 2時,taskb將暫停,taska迴圈結束後,taskb恢...

FreeRTOS任務的建立和刪除

freertos 最基本的功能就是任務管理,而任務管理最基本的操作就是建立和刪除任務。任務的建立 basetype t xtaskcreate taskfunction t pxtaskcode,const char const pcname,const uint16 t usstackdepth,...

02 FreeRTOS任務建立和刪除

basetype t xtaskcreate taskfunction t pxtaskcode,const char const pcname,const uint16 t usstackdepth,void const pvparameters,ubasetype t uxpriority,ta...