使用UCOSIII创建一个任务

本文介绍了UCOSIII操作系统中任务创建的过程,包括定义任务优先级、堆栈大小及任务控制块等内容,并详细展示了任务创建函数OSTaskCreate的使用方法。

近期学了原子的UCOSIII视频,大体了解UCOSIII的工作过程,把自己的心得体会记录下来。
UCOSIII主要以任务为主,实现任务间的调度,通信过程
首先说的是怎样创建一个初级任务,
//任务优先级
#define START_TASK_PRIO 3
//任务堆栈大小
#define START_TASK_SIZE 128
//任务控制块
OS_TCB StartTaskTcb
//任务堆栈
CPU_STK START_TASK_STK[START_TASK_SIZE]
//任务函数
void start_task(void *p_arg);

任务创建函数
OSTaskCreate
((OS_TCB )StartTaskTcb, //任务控制快
(CPU_CHAR* )“start task”, //任务名字
(OS_TASK_PTR)start_task, //任务函数
(void* )0, //传递给任务函数的参数,通常不用这个参数,设置为0
(OS_PRIO )START_TASK_PRIO, //任务优先级
(CPU_STK* )&STARK_TASK_STK[0], //任务堆栈基地址
(CPU_STK_SIZE)START_TASK_SIZE/10, //任务堆栈界限,一般为1/10,
(CPU_STK_SIZE)START_TASK_SIZE, //任务堆栈大小
(OS_MSG_QTY )0, //任务内部消息队列可以接受的最大消息数目,为0时禁止接受,这个参数具体使用,看消息队列的讲解
(OS_TICK )0, //时间片轮转时的时间片数,为0时为默认长度,具体看时间片的讲解
(void * )0, //用户补充的存储区,一般不用
(OS_OPT )OS_OPT_TASK_STK_CHK|OS_OPT_TASK_STK_CLR,//任务选项
(OS_ERR* )&err); //保存错误返回值,当创建不成功时会返回错误类型
通过这个过程就创建好了一个初级的任务。其他任务的创建也是类似的过程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值