μC/OS之OSTaskCreate()

本文详细介绍了μC/OS中任务创建函数OSTaskCreate()的使用,包括函数参数解析、任务优先级判断、任务堆栈初始化和TCB初始化等关键步骤。通过理解这些步骤,读者能够掌握如何在μC/OS操作系统中创建并管理任务。
摘要由CSDN通过智能技术生成
建立任务OSTaskCreate()
1.OSTaskCreate()函数的声明
    INT8U OSTaskCreate(void(*task)(void*pd),void*pdata,OS_STK *ptos,INT8U prio)
     1.1返回类型 INT8U
     1.2参数:4个参数,分别是指向任务代码段的函数指针task,指向任务数据的指针pdata,指向任务所分配的堆栈的栈顶指针ptos,以及任务的优先级prio
2.OSTaskCreate()函数的定义
     INT8U OSTaskCreate(void(*task)(void*pd),void*pdata,OS_STK *ptos,INT8U prio)
     {
         void *psp;                             /*用于指向任务堆栈初始化后栈顶的指针*/
         INT8U err;                             /*用于存放任务TCB初始化后返回的值*/
 
         if(prio>OS_LOWEST_PRIO)                /*判断任务的优先级是否在允许的范围内,即如果该任务的优先级比系统的空闲优先级*/
         {                                       /*都低的话,那么就出错了*/
             return (OS_PRIO_INVALID)            /*返回优先级不可得*/
         }
         OS_ENTER_CRITICAL();
         if (OSTCBPrioTbl[prio]==(OS_TCB *)0)   /*判断所分配的优先级是否已经被其他任务占用,(OS_TCB)*0 表示没有占用*/
         {
             OSTCBPrioTbl[prio]=(OS_TCB *)1;    /*将新分
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值