OS_Task_SetPriority (OST_TASK_POINTER tp, char priority)
Изменить приоритет задачи.
В качестве 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); // Восстанавливаем старый приоритет /*...*/ } }
OS_SetTaskPriority