cocoOS  5.0.1
os_sem.h File Reference
#include "cocoos.h"

Go to the source code of this file.

Macros

#define SEM_OFS1   20000
 
#define SEM_OFS2   21000
 
#define OS_WAIT_SEM(sem)
 
#define OS_SIGNAL_SEM(sem)
 
#define OS_SIGNAL_SEM_NO_SCHEDULE(sem)
 

Typedefs

typedef uint8_t Sem_t
 

Functions

void os_sem_init (void)
 
uint8_t os_sem_larger_than_zero (Sem_t sem)
 
void os_sem_decrement (Sem_t sem)
 
void os_sem_increment (Sem_t sem)
 

Detailed Description

Semaphore header file

Macro Definition Documentation

#define OS_SIGNAL_SEM (   sem)
Value:
do {\
if ( os_task_waiting_this_semaphore( sem ) == 0 ) {\
os_sem_increment( sem );\
}\
else {\
os_task_release_waiting_task( sem );\
OS_SCHEDULE(SEM_OFS2);\
}\
} while (0)
#define OS_SIGNAL_SEM_NO_SCHEDULE (   sem)
Value:
do {\
if ( os_task_waiting_this_semaphore( sem ) == 0 ) {\
os_sem_increment( sem );\
}\
else {\
os_task_release_waiting_task( sem );\
}\
} while (0)
#define OS_WAIT_SEM (   sem)
Value:
do {\
if ( os_sem_larger_than_zero( sem ) ){\
os_sem_decrement( sem );\
}\
else{\
os_task_wait_sem_set( running_tid, sem );\
OS_SCHEDULE(SEM_OFS1);\
}\
} while (0)