-
任务超时后,将该任务设置为就绪状态,这是emc datadomain 2500存储设备维护手册中的规定
资源介绍
程序清单 L6.8 因为等待超时将任务置为就绪状态
void OSEventTO (OS_EVENT *pevent)
{
if ((pevent->OSEventTbl[OSTCBCur->OSTCBY] &= ~OSTCBCur->OSTCBBitX) == 0)
{ (1)
pevent->OSEventGrp &= ~OSTCBCur->OSTCBBitY;
}
OSTCBCur->OSTCBStat = OS_STAT_RDY; (2)
OSTCBCur->OSTCBEventPtr = (OS_EVENT *)0; (3)
}
6.5 信号量
µC/OS-II 中的信号量由两部分组成:一个是信号量的计数值,它是一个 16 位的无符号整
数(0 到 65,535之间);另一个是由等待该信号量的任务组成的等待任务表。用户要在 OS_CFG.H
中将 OS_SEM_EN开关量常数置成 1,这样µC/OS-II才能支持信号量。
在使用一个信号量之前,首先要建立该信号量,也即调用 OSSemCreate()函数(见下一节),
对信号量的初始计数值赋值。该初始值为 0到 65,535之间的一个数。如果信号量是用来表示一
个或者多个事件的发生,那么该信号量的初始值应设为 0。如果信号量是用于对共享资源的访问,
那么该信号量的初始值应设为 1(例如,把它当作二值信号量使用)。最后,如果该信号量是用
来表示允许任务访问 n个相同的资源,那么该初始值显然应该是 n,并把该信号量作为一个可计
数的信号量使用。
- 上一篇: 动态高优先权作业调度带有到达时间
- 下一篇: 动态高优先权优先调度算法