在freertos移植到cortex-m3硬體平台的文章中,我們已經見過任務建立api,但那篇文章的重點在於如何移植freertos,本文將重點放在任務的建立和刪除api函式上面。
任務建立和刪除api函式位於檔案task.c中,需要包含task.h標頭檔案。
1.1函式描述
[objc]view plain
copy
?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
?/* 建立任務. */
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...