您的位置:首页 > 其它

os_prio.c

2016-02-21 18:42 253 查看
CPU_DATA   OSPrioTbl[OS_PRIO_TBL_SIZE];    //bitmap定义  保存要运行和正在运行任务的优先级



void  OS_PrioInit (void)   :
    清空bitmap(OSPrioTbl) 

OS_PRIO  OS_PrioGetHighest (void) :
    确定最高优先级的任务的优先级

    从OSPrioTbl[0]开始遍历,如果为0优先级增加32,直到遇到不为0计算出前面的0的个数相加,得到最高优先级。

void  OS_PrioInsert (OS_PRIO  prio) :
    将prio对应的bitmap中的位置1

void  OS_PrioRemove (OS_PRIO  prio):
    将prio对应的bitmap中的位置0

取模运算:如果(基数-1)的二进制全部为1,可以使用& 代替。(如32-1=0b11111)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: