vCoRoutineSchedule

[Co-Routine Specific]

croutine.h

void vCoRoutineSchedule( void );

コルーチンを実行開始する。

vCoRoutineSchedule () は実行可能な最も優先度の高いコルーチンを実行します。 コルーチンはそれがブロック状態、実行放棄、あるいはタスクによってプリエンプトされるまで、実行し続ける。 コルーチンは協調的に実行します、そして1つのコルーチンが他のコルーチンによってプリエンプトすることはできません、しかしタスクによってプリエンプトはされます。
もしアプリケーションがタスクとコルーチンを含むなら、 vCoRoutineSchedule は(アイドル・タスクフックで)アイドル・タスクから呼び出すべきです。

使用例:

Example usage:

    void vApplicationIdleHook( void )
    {
        vCoRoutineSchedule( void );
    }

代わりに、もしアイドル・タスクが他のいかなる関数も実行していないなら、次のループで vCoRoutineSchedule() を呼び出すのがいっそう効率的である:

    void vApplicationIdleHook( void )
    {
        for( ;; )
        {
            vCoRoutineSchedule( void );
        }
    }