os_task_suspend

所属模块:任务管理 | 类型:任务挂起函数

API Metadata

函数ID:os_task_suspend
模块:task
类型:task suspend
嵌套深度:1

函数简介

os_task_suspend 用于将指定任务置为挂起状态,使其停止参与调度。

被挂起的任务不会被调度器选择,直到被恢复函数重新激活。

该接口用于任务暂停执行、资源控制或系统管理场景。

函数原型

char os_task_suspend(unsigned char id);

参数说明

参数 说明
id 任务ID(0~OS_PROCESS_MAX+1)

返回值

1:挂起成功
-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 才能重新参与运行。

相关推荐