49 lines
759 B
C
49 lines
759 B
C
#include <ucos_ii.h>
|
|
#include "sem.h"
|
|
|
|
#define NULL (void*)0
|
|
sem_t *g_sem;
|
|
|
|
|
|
void *smart_sem_create(int cnt)
|
|
{
|
|
sem_t *ptr = NULL;
|
|
ptr = OSSemCreate(cnt);
|
|
return ptr;
|
|
}
|
|
|
|
void smart_sem_pend(void *sem)
|
|
{
|
|
sem_t *lsem = (sem_t*)sem;
|
|
unsigned char sem_err;
|
|
OSSemPend(lsem,0,&sem_err);
|
|
}
|
|
|
|
int smart_sem_post(void *sem)
|
|
{
|
|
int ret;
|
|
sem_t *lsem = (sem_t*)sem;
|
|
ret = OSSemPost(lsem);
|
|
return ret;
|
|
|
|
}
|
|
|
|
int smart_sem_del(void *sem)
|
|
{
|
|
int ret = 0;
|
|
void* ptr_ret;
|
|
sem_t *lsem = (sem_t*)sem;
|
|
unsigned char sem_err;
|
|
ptr_ret = OSSemDel (lsem,0, &sem_err);
|
|
if(ptr_ret == NULL)
|
|
{
|
|
return 0;
|
|
}
|
|
else
|
|
{
|
|
return -1;
|
|
}
|
|
return ret;
|
|
}
|
|
|