ucosii的os_task.c文件包含了一系列管理任务的函数,这篇文章主要是对改变任务优先级函数OSTaskChangePrio()做一个简单的分析,源码来自于2.92版本。
函数的原型为
INT8U在os_cpu.h头文件中有定义:
函数有两个参数:oldprio和newprio。返回值为错误码,有五个,分别是OS_ERR_NONE,OS_ERR_PRIO_INVALID,OS_ERR_PRIO_EXIST,OS_ERR_PRIO,OS_ERR_TASK_NOT_EXIST。
两个条件宏,定义了事件指针*pevent和事件组指针**pevents,注意这里是一个指向pevents指针地址的指针,即双重指针,OS_EVENT_EN和OS_EVENT_MULTI_EN在ucos_ii.h中定义。
这段代码定义了一连串与优先级改变有关