You are here

FreeRTOS ИПП: uxTaskPriorityGet()

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

Назад: [vTaskDelayUntil()] Вверх: [ИПП: Управление задачами] Вперёд: [vTaskPrioritySet()]

 

uxTaskPriorityGet()

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

UBaseType_t uxTaskPriorityGet( TaskHandle_t xTask );

Настройка INCLUDE_uxTaskPriorityGet в файле FreeRTOSConfig.h должна быть установлена в 1. Без этого функция недоступна.

Получение приоритета любой задачи.

Параметры:

xTask
Дескриптор запрашиваемой задачи. Передача NULL в качестве аргумента приводит к возврату приоритета вызывающей задачи.

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

Отсутствует.

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

void vAFunction( void )
{
    TaskHandle_t xHandle;

    /* Создаём задачу, сохраняем её дескриптор. */
    xTaskCreate( vTaskCode, "NAME", STACK_SIZE, NULL, tskIDLE_PRIORITY, &xHandle );

    /* ... */

    /* Используем дескриптор для получения приоритета созданной задачи.
    Задача была создана с приоритетом tskIDLE_PRIORITY, но затем приоритет мог
    быть изменён, в том числе и самой задачей. */
    if( uxTaskPriorityGet( xHandle ) != tskIDLE_PRIORITY )
    {
        /* Приоритет задачи был изменён. */
    }

    /* ... */

    /* Сравним приоритет нашей задачи и созданной. */
    if( uxTaskPriorityGet( xHandle ) < uxTaskPriorityGet( NULL ) )
    {
        /* Приоритет нашей задачи (полученный с помощью NULL в качестве
        дескриптор) выше приоритета созданной задачи. */
    }
}
Hobby's category: