You are here

xQueuePeekFromISR

Перевод может содержать ошибки. Читайте первоисточник: xQueuePeekFromISR()

Назад: [xQueuePeek] Вверх: [ИПП: Очереди] Вперёд: [vQueueAddToRegistry]

 

xQueuePeekFromISR()

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

BaseType_t xQueuePeekFromISR
    (
        QueueHandle_t   xQueue,
        void            *pvBuffer
    );

Этот макрос является версией макроса xQueuePeek(), но может быть вызван из обработчика прерывания.

Это макрос, который считывает значение элемента очереди, БЕЗ удаления элемента из очереди. Значение элемента считывается копированием (НЕ по указателю), поэтому необходимо предоставить буфер достаточного размера. Количество копируемых байт зависит от размера элемента очереди. А размер элемента определяется при создании очереди.

Элемент очереди, значение которого было успешно считано, остаётся в очереди, и доступен для повторного чтения новым вызовом xQueuePeek() или xQueuePeekFromISR(), либо для извлечения из очереди вызовом xQueueReceive() или xQueueReceiveFromISR().

Параметры

xQueue Хэндлер очереди, из которой необходимо считать значение элемента.
pvBuffer Указатель на буфер, в который будут скопированы данные из области хранения очереди. При этом количество байт, скопированное из области хранения очереди в буфер, определяется размером элемента очереди. А собственно размер элемента указывается при создании очереди.

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

pdTRUE если элемент был получен (считано значение элемента) из очереди. Иначе возвращается pdFALSE .

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

/* Не предоставлен. */
Hobby's category: