【UCOSIII】3.任务的创删挂解

1.1 、任务的创建:
       UCOSIII 中要想使用任务,第一件事就是创建一个任务,创建任务使用函数 OSTaskCreate()
      void  OSTaskCreate (  OS_TCB          *p_tcb,
                            CPU_CHAR        *p_name,
                      OS_TASK_PTR   p_task,
                      void            *p_arg,
                      OS_PRIO          prio,
                      CPU_STK         *p_stk_base,
                      CPU_STK_SIZE   stk_limit,
                      CPU_STK_SIZE   stk_size,
                      OS_MSG_QTY     q_size,
                      OS_TICK          time_quanta,
                      void            *p_ext,
                      OS_OPT           opt,
                      OS_ERR          *p_err)
1.2 、任务的删除:
   如果我们不想使用某个任务了就可将其删除,删除任务使用函数OSTaskDel(),函数原型如下:
void  OSTaskDel (OS_TCB  *p_tcb,
         OS_ERR  *p_err)
入口参数的解释如下:
        *p_tcb : 指向要删除的任务 TCB, 也可以传递一个 NULL 指针来删除调用 OSTaskDel()函数的任务自身
        *p_err: 指向一个变量用来保存调用 OSTaskDel()函数后返回的 错误码

   1、删除某个任务以后,它占用的OS_TCB和堆栈就可以再次利用来创建其他的任务。
   2、尽管UCOSIII允许在系统运行中删除任务,但是应该尽量避免这种操作,如果这个任务可能占有与其他任务共享的资源,在删除此任务之前这个被占有的资源没有被释放就有可能导致奇怪的结果。
2.1、UCOSIII任务挂起:
       当我们想暂停某个任务,但是又不想删除掉这个任务的时候就可以使用函数OSTaskSuspend()来将这个任务挂起,函数原型如下:
void   OSTaskSuspend ( OS_TCB  *p_tcb,
             OS_ERR  *p_err)
2.2、任务恢复
    当我们想要恢复某个被挂起的任务的时候可以调用函数OSTaskResume(),函数原型如下:
void  OSTaskResume (OS_TCB  *p_tcb,
           OS_ERR  *p_err)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值