没有合适的资源?快使用搜索试试~ 我知道了~
嵌入式os20函数
4星 · 超过85%的资源 需积分: 0 47 下载量 147 浏览量
2008-07-18
22:46:08
上传
评论
收藏 279KB DOC 举报
温馨提示
试读
34页
c语言 os20系统
资源详情
资源评论
资源推荐
task 相关函数的功能和用法
版本号 整理人 整理日期 备注
V1.0 胡军、王雪、张达蔚、
吴旻、张丽丽、白艳滨
初稿(培训讨论后整理)
1. task_create (by HJ)
·原型:task_t* task_create(void (*Function)(void*),
void* Param,
size_t StackSize,
int Priority,
const char* Name,
task_flags_t flags );
·参数:void (*Function)(void*)
指向任务函数的入口即函数名。
void* Param
提供给 的入口参数,如果参数较多,可以组合成结够体,再提供此结构体的地址作为参
数即可。
size_t StackSize
任务所用的栈的大小。
int Priority
创建任务的优先级。
const char* Name
任务的名称,主要是用来标示任务队列里的不同任务。
task_flags_t flags
关于任务的一些附加信息,一般定义为 ,及标示为默认的行为具体如下表:
Task flags Task behavior Target
0
创建一个 的默认的 任何
task_flags_high_priority_process
创建一个高优先级的人进程在 中被忽
视
task_flags_suspended
任何
·返回值:如果创建成功返回指向该结构体的指针,否则返回 !""。
·功能描述:此函数为创建一个具有给定优先级的任务。
·应用举例:
#$%
#$&%
#$'%
#$%
#$'%
#( )*) +
#(!),*-,.,./
#( !),*0*.1)2
3*'
4
'*5,6
6
76
8 3*85
4
3*'5-'93*'56
:6
(:96:$-'%6:;;
4
'*3-'%,6
* )*) +6
7
7
'
4
*56
3*''6
9*3*<='<
!),*0*.1)<!),*-,.,./<>3><6
(99 !""
4
(>)?!&@>6
A)B.*C."!,)6
7
7
2. task_data (by HJ)
·原型:void* task_data( task_t* Task );
·参数:task_t* Task
指向任务接构 * 的指针。
·返回值:返回任务的数据指针,如果任务为空则返回当前正在运行任务的数据指针。
·功能描述:此函数调用返回该任务的数据指针。
·应用举例:
#$%
#$&%
#$%
#(3
#(!),*0*.1)2
#(!),*-,.,./
*56
88
4
D3
4
**5
*6
7
7
'
4
9*8585<
!""<
!),*0*.1)<
!),*-,.,./<
>D><
6
(>E@>6
( !""99
4
(>)?!& @>6
A)B.*C."!,)6
7
D3
4
*6
7
7
3. task_data_set (by HJ)
·原型:void* task_data_set( task_t* Task, void* NewData );
·参数:task_t* Task
指向任务结构 * 的指针。
void* NewData
新的指向数据的指针。
·返回值:返回该任务先前的(设置新的数据指针之前)数据指针,如果所设置的任务为空则返回正在运行
的任务(此时数据指针已被跟新)之前的数据指针。
·功能描述:此函数设置任务的新的数据指针如果被设置的任务为空则设置当前正在运行的任务的数据指针。
·应用举例:
#$%
#$&%
#$%
#(3
#(!),*0*.1)2
#(!),*-,.,./
*56
88
4
D3
4
**<85A6
*6
7
7
'
4
9*
8585<
!""<
!),*0*.1)<
!),*-,.,./<
>D><
6
(>E@>6
( !""99
4
(>)?!& @>6
A)B.*C."!,)6
7
D3
4
*6
7
7
4. task_context (by HJ)
·原型:task_context_t task_context( task_t **task,int* level )
·参数:task_t **task
返回的任务描述。
int* level
返回的中断水平。
·返回值:一个 的任务,一个高优先级的进程还是一个中断。
·功能描述: 该函数返回一个被调用上下文的描述,是否为一个任务,一个中断或者一个高优先级的进程,
主要有下面三个值来表明:
当为 时<返回task_context_task;
当为 时<返回task_context_interrupt;
当为 3对于 内核时<返回 *A*。
需要说明的是,如果返回的 task 不为空则说明被调用的是一个 的任务或者一个高优先级
的进程,则相应的 * 信息被写入 所指向的内容,同样的如果 8 不为空则说明为一
个中断,并且中断水平被写入 8 所指向的单元。
·应用举例:
#$%
#$&%
#$%
#(3
#(!),*0*.1)2
#(!),*-,.,./
*56
586
*A*A6
88
4
D3
4
A9*A=<86
*6
7
7
'
4
9*8585<
!""<
!),*0*.1)<
!),*-,.,./<
>D><
6
(>E@>6
剩余33页未读,继续阅读
hking080102
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1