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.
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. |
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. } }