How to block task forever with a Queue()?
Hi all,
I want to block a task forever with xQueueReceive(…, … , SomethingLikeWAIT_FOREVER).
Only data posted to the Queue should wake up the task. I do not want to change task priority.
Is there a simpler method as checking the uxQueueMessagesWaiting() and when no data received calling the taskYIELD() ?
Regards
Paul
How to block task forever with a Queue()?
The normal way to do this is:
while( !xQueueReceive( Queue, buffer, portMAX_DELAY ) );
When the delay exists because something has been received then the while loop will also exit.
This topic has come up before. It was a design decission not to have a WAIT_FOREVER to keep the RAM usage of the compiler to a minimum and the source code as small as possible.