Co-routines are scheduled by repeated calls to vCoRoutineSchedule(). The best place to call vCoRoutineSchedule() is from the
idle task hook. This is the
case even if your application only uses co-routines as the idle task will still
automatically be created when the scheduler is started. See the later examples.
Scheduling co-routines from within the idle task allows tasks and co-routines to be easily mixed within the same application. When this is done the co-routines
will only execute when there are no tasks of priority higher than the idle task that are able to execute.
See the later examples.