os_task_resume

所属模块:任务管理 | 类型:任务恢复函数

API Metadata

函数ID:os_task_resume
模块:task
类型:task resume
嵌套深度:1

函数简介

os_task_resume 用于将指定任务从挂起状态恢复为就绪状态。

恢复后任务将重新参与调度,并可能在下一次调度周期中立即运行。

该接口支持普通任务与高速任务统一恢复,并会触发一次系统调度事件。

函数原型

char os_task_resume(unsigned char id);

参数说明

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

返回值

1:恢复成功
-1:参数非法或任务不存在

源码实现

char os_task_resume(unsigned char id) { u8 i; i = 1; if(id > OS_PROCESS_MAX + 1) { return -1; } if(id >= OS_PROCESS_MAX) { id %= OS_PROCESS_MAX; if(OS_KUAI_SP[id] == 0) { return -1; } if(id == 1) { OS_KUAI_PROCESS_B = 1; } else { OS_KUAI_PROCESS_A = 1; } } else { if(OS_PROCESS_OK[id] == 0) { return -1; } OS_PROCESS_OK[id] |= 0x01; } OS_SCHED_REASON = 1; TF0 = 1; return i; }

使用示例

void demo_resume() { os_task_resume(2); }

注意事项

恢复操作会立即触发调度事件,任务可能在当前或下一调度周期运行。 高速任务与普通任务恢复路径不同,需注意资源一致性。

相关推荐