Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Files

os.h/os_flag.c

Prototype

Code Block
OS_FLAGS  OSFlagPend (OS_FLAG_GRP  *p_grp,
                      OS_FLAGS      flags,
                      OS_TICK       timeout,
                      OS_OPT        opt,
                      CPU_TS       *p_ts,
                      OS_ERR       *p_err)

Arguments

p_grp

is a pointer to the event flag group.

...

  1. The event flag group must be created before it is used.

Example Usage

 

...

Code Block
titleOSFlagPend() example usage
          #define  ENGINE_OIL_PRES_OK   0x01
          #define  ENGINE_OIL_TEMP_OK   0x02
          #define  ENGINE_START         0x04
           
          OS_FLAG_GRP  EngineStatus;
           
          void Task (void *p_arg)
          {
              OS_ERR    err;
              OS_FLAGS  value;
              CPU_TS    ts;
           
           
              (void)&p_arg;
              while (DEF_ON) {
                  value = OSFlagPend(&EngineStatus,
                                     ENGINE_OIL_PRES_OK   + ENGINE_OIL_TEMP_OK,
                                     OS_FLAG_WAIT_SET_ALL + OS_FLAG_CONSUME,
                                     10,
                                     OS_OPT_PEND_BLOCKING,
                                     &ts,
                                     &err);
                  /* Check "err" */
                  :
                  :
              }
          }