OSA : OS_Queue_IsFull

bool OS_Queue_IsFull (queue)
bool OS_Queue_IsFull_I (queue)

Проверить, есть ли место в очереди для добавления нового сообщения.

Для использования очередей сообщений в файле OSAcfg.h должна быть определена константа OS_ENABLE_QUEUE.

Для PIC16 переменная queue может размещаться в памяти только в bank0 или bank1

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

Везде

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

queue Дескриптор очереди сообщений. Переменная типа OST_QUEUE.

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

false В очереди еще есть место
true Очередь переполнена. Новое сообщение можно добавить, только вытеснив первое сообщение из очереди.

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

OST_QUEUE queue;
 
void Task (void)
{
    static char Data[10];
    for (;;) {
        /*...*/
        if (!OS_Queue_IsFull (queue)) {                // Если в очереди еще есть место,
            OS_Queue_Send_Now(queue, (OST_MSG)Data); // то отправить сообщение
        }
        /*...*/
    }
}

Old style name

OS_IsQMsgFull

См. также