Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

void  OSMutexCreate (OS_MUTEX    *p_mutex,
                     CPU_CHAR    *p_name,
                     OS_ERR      *p_err)

File

Called from

Code enabled by

os_mutex.c

Task or startup code

OS_CFG_MUTEX_EN

OSMutexCreate() is used to create and initialize a mutex. A mutex is used to gain exclusive access to a resource.

Arguments

p_mutex

is a pointer to a mutex control block that must be allocated in the application. The user will need to declare a “global” variable as follows, and pass a pointer to this variable to OSMutexCreate():

OS_MUTEX MyMutex;

p_name

is a pointer to an ASCII string used to assign a name to the mutual exclusion semaphore. The name may be displayed by debuggers or µC/Probe.

p_err

is a pointer to a variable that is used to hold an error code:

OS_ERR_NONE

if the call is successful and the mutex has been created.

OS_ERR_CREATE_ISR

if OS_CFG_CALLED_FROM_ISR_CHK_EN set to 1 in os_cfg.h: if attempting to create a mutex from an ISR.

OS_ERR_OBJ_PTR_NULL

if OS_CFG_ARG_CHK_EN is set to 1 in os_cfg.h: if p_mutex is a NULL pointer.

OS_ERR_ILLEGAL_CREATE_RUN_TIME

if OS_SAFETY_CRITICAL_IEC61508 is defined: you called this after calling OSSafetyCriticalStart() and thus you are no longer allowed to create additional kernel objects.

Returned Value

None

Notes/Warnings

Mutexes must be created before they are used.

Example

  • No labels