OSTaskCreate创建失败原因之一

在μcos中调用这个任务创建函数发现失败,debug进去,发现在

err = OS_TCBInit(prio, psp, (OS_STK *)0, 0u, 0u, (void *)0, 0u);后

err = OS_ERR_TASK_NO_MORE_TCB

这是因为在创建任务之初没有调用OSInit();

`osTaskCreate` 是一个操作系统中创建任务函数。它的作用是创建一个新的任务,并将其添加到操作系统的任务列表中。在创建任务时,需要指定任务的名称、任务优先级、任务堆栈大小和任务函数等参数。 函数原型如下: ``` OS_ERR 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); ``` 参数说明: - `p_tcb`: 任务控制块指针,用于存储任务的相关信息。 - `p_name`: 任务名称,用于标识任务。 - `p_task`: 任务函数指针,指向要执行的任务函数。 - `p_arg`: 任务参数指针,传递给任务函数的参数。 - `prio`: 任务优先级,用于决定任务在系统中的执行顺序。 - `p_stk_base`: 任务堆栈基地址,指向任务堆栈的起始地址。 - `stk_limit`: 任务堆栈保护区大小,用于检测任务堆栈溢出。 - `stk_size`: 任务堆栈大小,用于存储任务执行时的临时数据。 - `q_size`: 任务消息队列大小,用于存储任务接收到的消息。 - `time_quanta`: 时间片大小,用于实现抢占式调度。 - `p_ext`: 任务扩展信息指针,可以用于存储任务的额外信息。 - `opt`: 任务选项,可以为以下值之一: - `OS_OPT_TASK_NONE`: 没有任务选项。 - `OS_OPT_TASK_STK_CHK`: 检查任务堆栈。 - `OS_OPT_TASK_STK_CLR`: 清除任务堆栈。 函数返回值为 `OS_ERR` 类型,表示任务创建状态。如果返回值为 `OS_ERR_NONE`,则表示任务创建成功,否则表示任务创建失败
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

有一双挣钱的小能手

您的打赏是众人更好的前行!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值