Co-routines
[More about co-routines...]

Implementing a Co-Routine

A co-routine should have the following structure:
    void vACoRoutineFunction( CoRoutineHandle_t xHandle,
                              UBaseType_t uxIndex )
    {
        crSTART( xHandle );

        for( ;; )
        {
            -- Co-routine application code here. --
        }

        crEND();
    }
 
The type crCOROUTINE_CODE is defined as a function that returns void and takes an CoRoutineHandle_t and an index as its parameters. All functions that implement a co-routine should be of this type (demonstrated above).

Co-routines are created by calling xCoRoutineCreate().

Points to note: