目录
任务挂起
OSTaskSuspend()函数
作用:因某些原因暂停运行,但以后还要运行,用此函数挂起
位置:os_task.c
调用:
void OSTaskSuspend(OS_TCB *p_tcb,//挂起指定控制块,可通过NULL挂起自身 OS_ERR *p_err //保存该函数的错误码)
挂起指定任务块
OSTaskSuspend((OS_TCB*)&Task2_TaskTCB,&err);
挂起自身
OSTaskSuspend((OS_TCB*)0,&err);
任务恢复
OSTaskResume()函数
作用:把挂起的任务恢复
位置:os_task.c
调用:
void OSTaskResume(OS_TCB *p_tcb,//恢复指定控制块,可通过NULL恢复自身 OS_ERR *p_err //保存该函数的错误码)
恢复指定任务块:
OSTaskResume((OS_TCB*)&Task2_TaskTCB,&err);
恢复自身:
OSTaskResume((OS_TCB*)0,&err);
任务时间轮转
OSSchedRoundRobinCfg()函数
前提:OS_CFG_SCHED_ROUND_ROBIN_EN 置1 才可使用时间轮转
作用:设置时间片长度
位置:os_core.c
调用:
void OSSchedRoundRobinCfg (CPU_BOOLEAN en,//DEF_ENABLED 打开 关闭DEF_DISENABLED OS_TICK dflt_time_quanta,//设置时间片长度 n*5 ms OS_ERR *p_err //返回的错误码)
使用实例:
OSSchedRoundRobinCfg(DEF_ENABLED,1,&err);
注:还需在创建任务函数中写入几个时间片,才会实现某个函数执行有效时间