其在功能上等同于标准演示文件 flash.c , 但使用了协程,而不是任务。 此外,其仅用于 演示用途,并未直接从协程内部切换 LED(如上述的快速示例),而是 通过队列将 LED 数量传递到了更高优先级的协程。
演示将数据从中断传递到协程的过程。 使用时间片钩子函数作为数据源。
PC 和较旧的 ARM Cortex-M3 演示应用程序之一 已经过预先配置,以使用此类示例协程文件,且可用作参考。 所有其他 演示应用程序被配置为仅可使用任务,但也可通过遵循以下流程轻松转换至协程演示。 这 将 flash.c 中实现的功能替换为了使用 crflash.c 进行实现:
void vApplicationIdleHook( void ) { vCoRoutineSchedule( void ); }