====== OSA : OS_Task_GetPriority ====== **char OS_Task_GetPriority (OST_TASK_POINTER tp)**\\ === === Возвращает приоритет задачи. Перед вызовом этого сервиса нужно быть уверенным в том, что //tp// инициализирован сервисом ##[[osa:ref:allservices:OS_Task_GetCur|OS_Task_GetCur]]##. В качестве //tp// можно использовать макрос **//this task//** или сервис ##[[osa:ref:allservices:OS_Task_GetCur|OS_Task_GetCur]]##(). === Разрешен вызов: === Везде === Параметры функции: === {| class = "fpl" |- |//''tp''// |Указатель на дескиптор задачи (##[[osa:ref:description:data_types#OST_TASK_POINTER|OST_TASK_POINTER]]##) |} === Возвращаемое значение: === {| class = "fpl" |- |//''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); // Восстанавливаем старый приоритет /*...*/ } } === Old style name === **OS_GetTaskPriority**\\ === См. также === * [[osa:ref:allservices:OS_Task_Create|OS_Task_Create]] * [[osa:ref:allservices:OS_Task_Replace|OS_Task_Replace]] * [[osa:ref:allservices:OS_Task_Delete|OS_Task_Delete]] * [[osa:ref:allservices:OS_Task_Define|OS_Task_Define]] * [[osa:ref:allservices:OS_Task_GetCur|OS_Task_GetCur]] * [[osa:ref:allservices:OS_Task_GetCreated|OS_Task_GetCreated]] * [[osa:ref:allservices:OS_Task_Pause|OS_Task_Pause]] * [[osa:ref:allservices:OS_Task_Continue|OS_Task_Continue]] * [[osa:ref:allservices:OS_Task_IsPaused|OS_Task_IsPaused]] * [[osa:ref:allservices:OS_Task_GetPriority|OS_Task_GetPriority]] * [[osa:ref:allservices:OS_Task_SetPriority|OS_Task_SetPriority]] ---- * [[osa:ref:services:alphabetical|Алфавитный указатель]] * [[osa:ref:services:brieflist|Все сервисы]] ~~UP~~