OSTaskRegGetID

OSTaskRegGetID

Description

OSTaskRegGetID() allows your application to assign task register IDs dynamically. In other words, instead of using #define constants to establish a task register number (or index) into the .TaskReg[] shown below, you should always use OSTaskRegGetID(), assign the ID to a variable and use this ID when calling OSTaskRegGet() or OSTaskRegSet().

If successful, OSTaskRegGetID() will return an ID between 0 and OS_CFG_TASK_REG_TBL_SIZE-1.

Files

os.h/os_task.c

Prototype

OS_REG_ID OSTaskRegGetID (OS_ERR *p_err)

Arguments

p_err

is a pointer to a variable that will contain an error code returned by this function.

OS_ERR_NONE

If the call was successful and the function returned the next available task register ID (or index).

OS_ERR_NO_MORE_ID_AVAIL

If you already called OSTaskRegGetID() OS_CFG_TASK_REG_TBL_SIZE (see os_cfg.h) times and thus there are no more IDs available to be assigned.

Returned Value

The next available task register ID or OS_CFG_TASK_REG_TBL_SIZE if all the IDs have already been assigned.

Required Configuration

OS_CFG_TASK_REG_TBL_SIZE must be greater than 0 in os_cfg.h. Refer to µC-OS-III Configuration Manual.

Callers

Application.

Notes/Warnings

None

Example Usage

OSTaskRegGetID() example usage
OS_REG_ID MyTaskRegID; void main (void) { OS_ERR err; : OSInit(&err); : MyTaskRegID = OSTaskRegGetID(&err); /* Check "err" */ : : OSStart(&err); }