Command disabled: backlink
 
Available Languages?:

OSA : OS_Task_SetPriority

OS_Task_SetPriority (OST_TASK_POINTER tp, char priority)

Изменить приоритет задачи.

Перед вызовом этого сервиса нужно быть уверенным в том, что tp инициализирован сервисом OS_Task_GetCur.

В качестве tp можно использовать макрос this task или сервис OS_Task_GetCur().

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

Только из задачи

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

tp Указатель на дескиптор задачи (OST_TASK_POINTER)
priority Приоритет. Может быть от 0 (высший) до 7 (низший)

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

Нет

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

void Task (void)
{
    static char temp;
    for (;;) {
        /*...*/
        temp = OS_Task_GetPriority(this_task);
        OS_Task_SetPriority(this_task, 0);           // Устанавливаем задаче высший приоритет
        // Здесь выполняем критические ко времени операции
        /*...*/
        OS_Task_SetPriority(this_task, temp);        // Восстанавливаем старый приоритет
        /*...*/
    }
}

Old style name

OS_SetTaskPriority

См. также

 
osa/ref/allservices/os_task_setpriority.txt · Последние изменения: 07.10.2010 13:53 (внешнее изменение)
 
Creative Commons License Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki