第五篇:完善的协作式的内核——OSSemCreate
//信号量
struct SemBlk
{
unsigned char OSEventType; //型号 0,信号量独占型;1信号量共享型
unsigned char OSEventState; //状态 0,不可用;1,可用
unsigned char OSTaskPendTbl; //等待信号量的任务列表
} Sem[10];
//初始化信号量
void OSSemCreat(unsigned char Index,unsigned char Type)
{
Sem[Index].OSEventType=Type; //型号 0,信号量独占型;1信号量共享型
Sem[Index].OSTaskPendTbl=0;
Sem[Index].OSEventState=0;
}
操作步骤:
1.设置类型——>2.队列清零——>3.状态清零