UCOSII操作系统(四)--任务管理

1、任务

(1)任务可以是一个无限的循环,也可以在一次执行完毕后被删除。

任务的代码并不是真正的删除了,而是UCOSII不再理会该任务代码,该任务代码不会再执行。

(2)建立任务,OSTaskCreate()

如果想让UCOSII管理用户的任务,必须先建立任务,可以通过将任务的地址(函数名)和其他参数传递到这2个函数中来建立任务。

(3)任务可以在多任务调度之前开始建立,也可以在其他的任务中创建需要的任务。在启动UCOS之前必须至少得建立一个任务。

2、分析创建任务

(1)参数分析:

参数1:任务的函数名:任务切换的时的入口地址。
参数2:传递给建立任务的参数,此参数基本不会用到。
参数3:传递给建立任务的堆栈,每个任务都有独一无二的堆栈。
参数4:传递给任务的优先级。

(2)函数内容分析:

①当OS_TASK_CREATE_EN宏大于0的时候,我们才可以使用创建任务的函数。

②如果创建的时候检测到 任务的优先级 比 最大的优先级(数值上,实际上是最小)还大的话,那么就直接退出,输出一个错误码。

③不允许创建任务是在中断中进行的,在中断时创建任务会返回一个错误码。

④最后就是把刚刚的四个参数赋值到任务当中去,实现任务的创建。

3、任务堆栈

任务的堆栈可以使用静态的堆栈生成,也可以使用动态的堆栈生成。

(1)静态堆栈:
static OS_STK MyTaskStack[stac

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值