1.4.4.1 OSAL_SEM_Create Function

C

OSAL_RESULT OSAL_SEM_Create(OSAL_SEM_HANDLE_TYPE* semID, OSAL_SEM_TYPE type, uint8_t maxCount, uint8_t initialCount)

Summary

Creates an OSAL Semaphore.

Description

This function creates an OSAL binary or counting semaphore. If OSAL_SEM_TYPE_BINARY is specified, the maxcount and initialCount values are ignored.

Precondition

Semaphore must have been declared.

Parameters

ParamDescription
semIDPointer to the Semaphore ID. Updated with valid semaphore handle if call was successful
typeIf OSAL_SEM_TYPE_BINARY, create a binary semaphore. If OSAL_SEM_TYPE_COUNTING, create a counting semaphore with the specified count values
maxCountMaximum value for a counting semaphore (ignored for a BINARY semaphore). This parameter is ignored for ThreadX and Micrium/OS-III as these RTOS libraries do not support this parameter
initialCountStarting count value for the semaphore (ignored for a BINARY semaphore) This should be less than or equal to maxCount when used with a RTOS library that supports the maxCount parameter (i.e., FreeRTOS and OPENRTOS)

Returns

OSAL_RESULT_TRUE - Semaphore created

OSAL_RESULT_FALSE - Semaphore creation failed

Example

OSAL_SEM_Create(&mySemID, OSAL_SEM_TYPE_COUNTING, 10, 5);

Remarks

None.