vxworks任務的建立和刪除

2021-05-28 02:34:34 字數 1264 閱讀 5284

/*任務的建立,暫停,恢復以及刪除

* 設定《任務鉤子》用以觀察任務的建立和刪除

* 程式建立了2個任務:taska與taskb,優先順序分別為125和130

* 由於vxworks的優先順序從高到低為0-255,因此task1會優先執行。

* taska中的i==2時,taskb將暫停,

* taska迴圈結束後,taskb恢復執行

* 在任務的執行過程中,《任務鉤子》會根據任務的建立和刪除輸出相應資訊

* */

#include#include#include#include#define task_priority 125

#define task_priority_two 130

#define stack_size 225

/*任務a*/

void taska(void);

/*任務b*/

void taskb(void);

/*任務id*/

int taskid_a, taskid_b;

void createhook(wind_tcb *pnewtcb);

void deletehook(wind_tcb *pnewtcb);

int main()

/*taska的i==2時,taskb暫停.

*taska結束後,taskb恢復執行.*/

void taska()

sleep(1);

} taskresume(taskid_b);

printf("taskb resumed!\n");

}void taskb()

}void createhook(wind_tcb *pnewtcb)

void deletehook(wind_tcb *pnewtcb)

執行結果:

[hook]:taska is runing...!

[hook]:taskb is runing...!

taska:0

taskb:0

taska:1

taskb:1

taska:2

taskb suspend!

taska:3

taska:4

taskb resumed!

[hook]:taska was deleted!

taskb:2

taskb:3

taskb:4

[hook]:taskb was deleted!

任務建立和刪除

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

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...