有一段这样的代码
if(prio == OS_PRIO_SELF)
prio = OSTCBCur->OSTCBPrio;
不难知道,OS_PRIO_SELF = 0xff;
其实,很多人会认为,如果下面的操作时针对本任务的话,本任务传进来的参数prio会等于本任务的真实的优先级,例如10,21...
其实不然,传进来的prio就是等于0xff,这样if判断才会成立,然后把真实的优先级赋给prio。
有一段这样的代码
if(prio == OS_PRIO_SELF)
prio = OSTCBCur->OSTCBPrio;
不难知道,OS_PRIO_SELF = 0xff;
其实,很多人会认为,如果下面的操作时针对本任务的话,本任务传进来的参数prio会等于本任务的真实的优先级,例如10,21...
其实不然,传进来的prio就是等于0xff,这样if判断才会成立,然后把真实的优先级赋给prio。