You are here

FreeRTOS ИПП: xQueueRemoveFromSet()

Перевод может содержать ошибки. Читайте первоисточник: FreeRTOS Queue Set API Functions - xQueueRemoveFromSet()

Назад: [xQueueAddToSet()] Вверх: [ИПП: Наборы очередей] Вперёд: [xQueueSelectFromSet()]

 

xQueueRemoveFromSet()

Функция объявляется в файле queue.h

BaseType_t xQueueRemoveFromSet
                      (
                          QueueSetMemberHandle_t xQueueOrSemaphore,
                          QueueSetHandle_t xQueueSet
                      );

Настройка configUSE_QUEUE_SETS в файле FreeRTOSConfig.h должна быть установлена в 1 для включения в код функций работы с наборами очередей.

Удаляет очередь или семафор из набора очередей.

Очередь или семафор могут быть удалены из набора очередей только если очередь или семафор пусты.

Параметры

xQueueOrSemaphore Указатель на очередь или семафор, который будет удалён из набора очередей (приводится к типу QueueSetMemberHandle_t).
xQueueSet Указатель на набор очередей, в котором содержится удаляемая очередь или семафор.

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

Если очередь или семафор успешно удалены из набора очередей, возвращается значение pdPASS. Если очередь или семафор не являются членом набора очередей, либо не пусты, возвращается значение pdFAIL.

Пример использования

В этом примере предполагается, что xQueueSet это набор очередей, который уже создан, а очередь xQueue это очередь, которая уже добавлена к набору очередей xQueueSet.

    if( xQueueRemoveFromSet( xQueue, xQueueSet ) != pdPASS )
    {
        /* Либо очередь xQueue не является членом набора очередей xQueueSet,
        либо xQueue не пуста и следовательно не может быть удалена из набора. */
    }
    else
    {
        /* Очередь успешно удалена из набора. */
    }
Hobby's category: