Should xQueueReceive() or xQueueReceiveFromISR() be used to receive from xQueueSendToBackFromISR()?

spflanze wrote on Friday, March 04, 2016:

I have a callback within which I am using xQueueSendToBackFromISR() to send to a receiving thread that is not a callback or interrupt service routine. In the receiving thread should I use xQueueReceive() or xQueueReceiveFromISR()?

In other words should only xQueueReceiveFromISR() by used to receive from xQueueSendToBackFromISR()? Or if not in a callback or interrupt service routine should xQueueReceive() be used instead?

edwards3 wrote on Friday, March 04, 2016:

You only need to use the FromISR API inside an ISR, so in your case only in the callback. The ISR uses xQueueSendFromISR() and the task uses xQueueReceive(), that is fine.