初级会员

- 积分
- 88
- 金钱
- 88
- 注册时间
- 2019-8-26
- 在线时间
- 11 小时
|
1金钱
//开始任务
void start_task(void *p_arg)
{
OS_ERR err;
CPU_SR_ALLOC();
p_arg = p_arg;
CPU_Init();
#if OS_CFG_STAT_TASK_EN > 0u
OSStatTaskCPUUsageInit(&err);
#endif
#ifdef CPU_CFG_INT_DIS_MEAS_EN
CPU_IntDisMeasMaxCurReset();
#endif
#if OS_CFG_SCHED_ROUND_ROBIN_EN
OSSchedRoundRobinCfg(DEF_ENABLED,1,&err);
#endif
OS_CRITICAL_ENTER();
OSTaskCreate((OS_TCB * )&Task2_TaskTCB,
(CPU_CHAR * )"task2 task",
(OS_TASK_PTR )task2_task,
(void * )0,
(OS_PRIO )TASK2_TASK_PRIO,
(CPU_STK * )&TASK2_TASK_STK[0],
(CPU_STK_SIZE)TASK2_STK_SIZE/10,
(CPU_STK_SIZE)TASK2_STK_SIZE,
(OS_MSG_QTY )0,
(OS_TICK )0,
(void * )0,
(OS_OPT )OS_OPT_TASK_STK_CHK|OS_OPT_TASK_STK_CLR,
(OS_ERR * )&err);
OS_CRITICAL_EXIT();
OSTaskDel((OS_TCB*)0,&err); //为什么删除自身??
}
请大神指导 为什么UCOSIII里面的开始任务,要在建立完成其他任务后,删除自身任务?仅仅是为了不再运行开始任务吗?如果删除了开始任务,理论上还会运行开始任务中建立的其他任务吗?
|
最佳答案
查看完整内容[请看2#楼]
因为这个任务不会再被用到所以删除自身没毛病。至于后续你还想创建,当然可以在其它任务里面继续创建新任务,不一定要在这个里面创建。
|