Перевод может содержать ошибки. Читайте первоисточник: FreeRTOS Task Control API Functions - uxTaskPriorityGet()
Назад: [vTaskDelayUntil()] | Вверх: [ИПП: Управление задачами] | Вперёд: [vTaskPrioritySet()] |
Функция объявляется в файле 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 в качестве
дескриптор) выше приоритета созданной задачи. */
}
}