Hi I was just wondering if someone could explain the exact operation of xQueueReceive? What I am seeing is that if I try to do a Queue receive and there is no data there and I specify a block time of say 10 seconds, that the task does not return and continue to run until the 10 second window expires. This is regardless of whether something is put into the queue after the first check. Is this the expected beahviour? Thanks
No – this is definitely not the expected behaviour. When data is posted to the queue the task will be unblocked. When the task actually runs will depend on its priority relative to the other tasks in the system. Take a look at FreeRTOS/Demo/blocktim.c for an example of this. Regards.
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.