os_task_get_priority
所属模块:任务管理 | 类型:调度查询函数
函数简介
os_task_get_priority 用于查询指定任务的当前优先级。
支持普通任务与高优先级任务的区分,其中普通任务优先级范围为 0-7,高优先级任务为系统调度级别任务。
该接口主要用于调度分析与系统状态调试。
函数原型
char os_task_get_priority(unsigned char id);
参数说明
| 参数 |
说明 |
| id |
任务ID(0~OS_PROCESS_MAX+1) |
源码实现
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);
// 用于调度分析
}
注意事项
普通任务优先级存储在系统控制字中,高优先级任务返回固定调度等级。
返回值仅用于调试与调度分析,不建议直接修改。