task相关函数的功能和用法

task相关函数的功能和用法

ID:39468697

大小:279.00 KB

页数:33页

时间:2019-07-04

task相关函数的功能和用法_第1页
task相关函数的功能和用法_第2页
task相关函数的功能和用法_第3页
task相关函数的功能和用法_第4页
task相关函数的功能和用法_第5页
资源描述:

《task相关函数的功能和用法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、task相关函数的功能和用法版本号整理人整理日期备注V1.0胡军、王雪、张达蔚、吴旻、张丽丽、白艳滨2008-7-10初稿(培训讨论后整理)1.task_create(byHJ)·原型:task_t*task_create(void(*Function)(void*), void*Param,  size_tStackSize,  intPriority,  constchar*Name,  task_flags_tflags);·参数:void(*Function)(void*)指向任务函数的入口即函数名。void*Param提供

2、给Function的入口参数,如果参数较多,可以组合成结够体,再提供此结构体的地址作为参数即可。size_tStackSize任务所用的栈的大小。intPriority创建任务的优先级。constchar*Name任务的名称,主要是用来标示任务队列里的不同任务。task_flags_tflags关于任务的一些附加信息,一般定义为0,及标示为默认的行为具体如下表:TaskflagsTaskbehaviorTarget0创建一个OS20的默认的task.任何task_flags_high_priority_process创建一个高优先级

3、的人进程(在ST20C1中被忽视).ST20C2task_flags_suspendedCreatethetaskalreadysuspended.任何·返回值:如果创建成功返回指向该结构体的指针,否则返回NULL。·功能描述:此函数为创建一个具有给定优先级的任务。·应用举例:#include#include#include#include#include#defineONE_SECOND100#defineUSER_PRIORITY1

4、#defineUSER_WS_SIZE2048structsig_params{semaphore_t*Ready;intCount;};voidsignal_task(void*p){structsig_params*Params=(structsig_params*)p;intj;for(j=0;jCount;j++){semaphore_signal(Params->Ready);task_delay(ONE_SECOND);}}intmain(){task_t*Task;structsig_paramspa

5、rams;Task=task_create(signal_task,¶ms,USER_WS_SIZE,USER_PRIORITY,"Signal",0);if(Task==NULL){printf("Error:create.Unabletocreatetask");exit(EXIT_FAILURE);}}1.task_data(byHJ)·原型:void*task_data(task_t*Task);·参数:task_t*Task指向任务接构task_t的指针。·返回值:返回任务的数据指针,如果任务为空则返回当前正在

6、运行任务的数据指针。·功能描述:此函数调用返回该任务的数据指针。·应用举例:#include#include#include#definerunning1#defineUSER_WS_SIZE2048#defineUSER_PRIORITY2task_t*Task1;voidtask1(void){while(running){task_data(task_t*task1)task_delay(1000);}}intmain(){Task1=task_create((void(*

7、)(void*))task1,NULL,USER_WS_SIZE,USER_PRIORITY,"low",0);printf("task1iscreated!");if(NULL==Task1){printf("Error:create.Unabletocreatetask");exit(EXIT_FAILURE);}while(running){task_delay(1000);}}1.task_data_set(byHJ)·原型:void*task_data_set(task_t*Task,void*NewData);·

8、参数:task_t*Task指向任务结构task_t的指针。void*NewData新的指向数据的指针。·返回值:返回该任务先前的(设置新的数据指针之前)数据指针,如果所设置的任务为空则返回正在运行的任务(此时数据指针已被跟新)之前的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。