xEventGroupClearBits
EventGroup
Collaboration diagram for xEventGroupClearBits:

event_groups.h

       EventBits_t xEventGroupClearBits( EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToClear );

Clear bits within an event group. This function cannot be called from an interrupt.

Parameters

  xEventGroup | The event group in which the bits are to be cleared.
  uxBitsToClear | A bitwise value that indicates the bit or bits to clear in the event group. For example, to clear bit 3 only, set uxBitsToClear to 0x08. To clear bit 3 and bit 0 set uxBitsToClear to 0x09.

Returns
  The value of the event group before the specified bits were cleared.

Example usage:

      #define BIT_0 ( 1 << 0 )
      #define BIT_4 ( 1 << 4 )

      void aFunction( EventGroupHandle_t xEventGroup )
      {
      EventBits_t uxBits;

        // Clear bit 0 and bit 4 in xEventGroup.
        uxBits = xEventGroupClearBits(
                                xEventGroup,    // The event group being updated.
                                BIT_0 | BIT_4 );// The bits being cleared.

        if( ( uxBits & ( BIT_0 | BIT_4 ) ) == ( BIT_0 | BIT_4 ) )
        {
            // Both bit 0 and bit 4 were set before xEventGroupClearBits() was
            // called.  Both will now be clear (not set).
        }
        else if( ( uxBits & BIT_0 ) != 0 )
        {
            // Bit 0 was set before xEventGroupClearBits() was called.  It will
            // now be clear.
        }
        else if( ( uxBits & BIT_4 ) != 0 )
        {
            // Bit 4 was set before xEventGroupClearBits() was called.  It will
            // now be clear.
        }
        else
        {
            // Neither bit 0 nor bit 4 were set in the first place.
        }
      }