os_task_get_priority

所属模块:任务管理 | 类型:调度查询函数

API Metadata

函数ID:os_task_get_priority
模块:task
类型:priority query
嵌套深度:1

函数简介

os_task_get_priority 用于查询指定任务的当前优先级。

支持普通任务与高优先级任务的区分,其中普通任务优先级范围为 0-7,高优先级任务为系统调度级别任务。

该接口主要用于调度分析与系统状态调试。

函数原型

char os_task_get_priority(unsigned char id);

参数说明

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

返回值

≥0:任务优先级
-1:非法任务ID

源码实现

char os_task_get_priority(unsigned char id) { u8 i; if(id > OS_PROCESS_MAX + 1) { return -1; } if(id < OS_PROCESS_MAX - 1) { i = (OS_PROCESS_OK[id] >> 1) & 7; return i; } return OS_SCHED_LEVEL_MAX - 2; }

使用示例

void debug_priority() { char p; p = os_task_get_priority(2); // 用于调度分析 }

注意事项

普通任务优先级存储在系统控制字中,高优先级任务返回固定调度等级。 返回值仅用于调试与调度分析,不建议直接修改。

相关推荐