OSA : OS_Wait

OS_Wait (condition)

Разрешен вызов только в контексте задачиПереключает контекст

Переводит задачу в режим ожидания до тех пор, пока не будет выполнено заданное условие. Условием condition в данном случае может быть любое выражение перечислимого типа (bool, char, int и т.д.). Как только условие выполняется, задача переходит в состояние готовности и, как только задача становится самой приоритетной из всех готовых, она получает управление. Исключение - состязяние приоритетов.

Разрешен вызов:

Только из задачи

Параметры функции:

condition Любое выражение перечислимого типа.

Возвращаемое значение:

Нет

Пример вызова:

void Task (void)
{
    for (;;) {
        /*...*/
        OS_Wait (RA0 == 0 && RA1 == 1);
        /*...*/
    }
}

Old style name

OS_WaitCondition

OS_Cond_Wait

См. также