eTaskGetState API invocation stuck in an eReady State return

krnl386 wrote on Wednesday, July 12, 2017:

I am trying to Get a Task’s State inside the TickHook function but unfortunately its stuck in an eReady State, made sure the Task handle is correct and that the task is running properly. Tried invoking the Function from the Task itself but the state returned is also eReady. Any advices are Highly appreciated.


rtel wrote on Wednesday, July 12, 2017:

The tick hook runs in the context of an ISR. eTaskGetState() does not
end in “FromISR”, so must not be called from the tick hook. Read the
free PDF book and the FAQ “my application does not run, what could be
wrong?” for details on this.

If you invoke the function from the task itself then the task must be in
the running state, not the ready state. The first few lines of the
function are:

if( pxTCB == pxCurrentTCB )
/* The task calling this function is querying its own state. */
eReturn = eRunning;

which would indicate eRunning is returns. Try stepping through the
function in the debugger to see why that is not happening.

krnl386 wrote on Wednesday, July 12, 2017:

Issue Solved Thaks Alot !!!