suspended task question

wne1 wrote on Monday, September 28, 2009:

I am new to RTOS and trying to figure out how FreeRTOS works.
In PIC32 port, the LCD task is suspended when I check the state of the tasks after pause the running code.
In the book "Using the FreeRTOS Real Time Kernel - A Practical Guide", page 19, "The only way into the Suspended state is through a call to the vTaskSuspend() API function,".
My questions are:
1. Why the LCD task need to be suspended?
2. I could not find vTaskSuspend() call in the programm, how come it is suspended?

davedoors wrote on Monday, September 28, 2009:

Does the LCD task block using portMAX_DELAY as its block time? If so then it is placed into the suspended queue just for convenience. In reality the task is in the blocked state but the internal mechanisms place it in the suspended state and unfortunately it shows up as being suspended in the viewers.

wne1 wrote on Monday, September 28, 2009:

Thanks for explaining!