Перевод может содержать ошибки. Читайте первоисточник: Implementing a Co-Routine
Назад: [Сопрограммы во FreeRTOS] | Вверх: [Сопрограммы во FreeRTOS] | Вперёд: [Сопрограммы во FreeRTOS] |
Сопрограмма должна иметь следующую структуру:
/*----------------------------------------------------------------------------*/
void vACoRoutineFunction( CoRoutineHandle_t xHandle, UBaseType_t uxIndex )
{
crSTART( xHandle );
for( ;; )
{
-- Код сопрограммы приложения располагается здесь. --
}
crEND();
}
Тип crCOROUTINE_CODE определяется как функция, которая возвращает void и в качестве параметров получает CoRoutineHandle и индекс. Все функции, которые реализуют сопрограмму, должны иметь этот тип.
Сопрограммы создаются вызовом функции xCoRoutineCreate().
Обратите внимание: