char OS_Task_GetPriority (OST_TASK_POINTER tp)
Возвращает приоритет задачи.
В качестве tp можно использовать макрос this task или сервис OS_Task_GetCur().
Везде
tp |
Указатель на дескиптор задачи (OST_TASK_POINTER) |
char |
Текущий приоритет задачи (от 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_GetTaskPriority