求教,uC/OS-II Pend和POST函数关于临界段的区别
在uC/OS-II中,信号量、互斥信号量、邮箱、消息队列和标志事件组的Pend函数在调用OS_Sched()函数时,将其置于临界段内,而POST则不是。请高手分析这是为什么?
也就是,Pend在调用函数OS_Sched()后,若被任务置于就绪表的任务A若是就绪表中优先级最高的,OS_Sched则不返回,否则,OS_Sched返回。那岂不是,当如前者,在进入临界段内,由于OS_Sched不返回,就不会执行OS_Sched函数后面的退出临界段的指令。这个进退临界段宏要成对使用的原则相违背啦。