OS_Flag_Wait_AllOff_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_AllOff_TO (flags, 0xFF, 100); if (!OS_IsTimeout()) { // /*...*/ } /*...*/ } }
OS_WaitAllFlagClearTimeout
OS_Flag_Wait_AllOff