No return from xEventGroupWaitBits even if the bit was set

wirelessguy wrote on Friday, August 31, 2018:

Hi All,

I met an issue when I’m using FreeRTOS v10 version.

I have 3 tasks in created in my software, each task create an Event Group handle.
For each task, the architect is the same.
I used xEventGroupWaitBits( xCreatedEventGroup,0x00FFFFFF,pdFALSE,pdFALSE,portMAX_DELAY ) at the beginning of each task to wait for the event received in block state.
If any event received for this task, xEventGroupWaitBits will return and do the related event processing.

For the priority, Task1(EventGroup1)<Task2(EventGroup2)<Task3(EventGroup3).
When sw was running in Task2, it set bit to EventGroup1 using xEventGroupSetBits, I used the xEventGroupGetBits to verify that the bit was set correct. At meanwhile Task2 or Task3 was using xEventGroupSetBits to set the bits to EventGroup2, I found the Tasks received the EventGroup2 events and process it immediatly due to high priority. But I never see the event in EventGroup1 is return from xEventGroupWaitBits(EventGroup1,0x00FFFFFF,pdFALSE,pdFALSE,portMAX_DELAY ).

I don’t why the event in EventGroup1 was missed/never returned in xEventGroupWaitBits?

I did another test that chang the task priority as below,
The result was correct, the event in EventGroup1 and EventGroup2 was returned from the xEventGroupWaitBits and processed almost at the same time.

Please share your comments.

Best Regards.
Wireless Guy

wirelessguy wrote on Friday, August 31, 2018:

Hi All,
Please ignore this issue since the higher priority Task2 is 100% duty cycly running due to one event group bit wasn’t cleared.

Sorry about it.