Available Languages?:

OSA : OS_Flag_Wait_AllOn_TO

OS_Flag_Wait_AllOn_TO (flags, mask, timeout)

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

Ожидаем установки всех флагов в течение заданного времени. Если так и не дождались, то выходим из ожидания по таймауту.

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

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

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

flags Переменная типа OST_FLAGx (x = 8, 16, 32)
mask Битовая маска, по которой произваодится операция над флагами
timeout Время ожидания. Задается в системных тиках - периодах вызова сервиса OS_Timer

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

таймаут Если вышли из ожидания по таймауту, то сервис OS_IsTimeout возвратит true

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

OST_FLAG8 flag;
 
void Task (void)
{
    for (;;) {
        /*...*/
        OS_Flag_Wait_AllOn_TO (flags, 0x33, 10);
        if (!OS_IsTimeout()) {
            //
            /*...*/
        }
        /*...*/
    }
}

Old style name

OS_WaitAllFlagTimeout

OS_Flag_Wait_AllOn

См. также

 
osa/ref/allservices/os_flag_wait_allon_to.txt · Последние изменения: 07.10.2010 13:52 (внешнее изменение)
 
Creative Commons License Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki