os_task_suspend
所属模块:任务管理 | 类型:任务挂起函数
函数简介
os_task_suspend 用于将指定任务置为挂起状态,使其停止参与调度。
被挂起的任务不会被调度器选择,直到被恢复函数重新激活。
该接口用于任务暂停执行、资源控制或系统管理场景。
函数原型
char os_task_suspend(unsigned char id);
参数说明
| 参数 |
说明 |
| id |
任务ID(0~OS_PROCESS_MAX+1) |
源码实现
char os_task_suspend(unsigned char id)
{
if(id > OS_PROCESS_MAX + 1)
{
return -1;
}
if(id >= OS_PROCESS_MAX)
{
id %= OS_PROCESS_MAX;
if(id == 1)
{
OS_KUAI_PROCESS_B = 0;
}
else
{
OS_KUAI_PROCESS_A = 0;
}
}
else
{
OS_PROCESS_OK[id] &= 0xFE;
}
OS_SCHED_REASON = 1;
TF0 = 1;
return 1;
}
使用示例
void demo_suspend()
{
os_task_suspend(2);
}
注意事项
挂起后任务将立即从调度体系中移除,必须通过 resume 才能重新参与运行。