OSTimeDlyResume

Description

Resumes a task that has been delayed through a call to either OSTimeDly(), or OSTimeDlyHMSM().

Files

os.h/os_time.c

Prototype

void  OSTimeDlyResume (OS_TCB  *p_tcb,
                       OS_ERR  *p_err)

Arguments

p_tcb

is a pointer to the TCB of the task that is resuming. A NULL pointer is not valid since it would indicate that the user is attempting to resume the current task and that is not possible as the caller cannot possibly be delayed.

p_err

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

OS_ERR_NONE

If the call was successful and the task was resumed.

OS_ERR_OS_NOT_RUNNING

If OS_CFG_INVALID_OS_CALLS_CHK_EN is set to DEF_ENABLED in os_cfg.h: if µC/OS-III is not running yet.

OS_ERR_STATE_INVALID

If the task is in an invalid state.

OS_ERR_TASK_NOT_DLY

If the task was not delayed or, you passed a NULL pointer for the TCB.

OS_ERR_TASK_SUSPENDED

If the task to resume is suspended and will remain suspended.

OS_ERR_TCB_INVALID

If OS_CFG_ARG_CHK_EN is set to DEF_ENABLED in os_cfg.h:  if 'p_tcb' is a NULL pointer

OS_ERR_TIME_DLY_RESUME_ISR

If OS_CFG_CALLED_FROM_ISR_CHK_EN set to DEF_ENABLED in os_cfg.h: if calling this function from an ISR.

Returned Value

None

Required Configuration

OS_CFG_TIME_DLY_RESUME_EN must be enabled in os_cfg.h. Refer to µC-OS-III Configuration Manual.

Callers

Application.

Notes/Warnings

  1. Do not call this function to resume a task that is waiting for an event with timeout.

Example Usage


OSTimeDlyResume() example usage
          OS_TCB  AnotherTaskTCB;
           
           
          void TaskX (void *p_arg)
          {
              OS_ERR  err;
           
           
              while (DEF_ON) {
                  :
                  OSTimeDlyResume(&AnotherTaskTCB,
                                  &err);
                  /* Check "err" */
                  :
                  :
              }
          }