OS_Task_Delete (OST_TASK_POINTER tp)
Остановить внешнюю задачу и удалить ее из списка активных задач. С вызовом этого сервиса нужно быть осторожным: следует быть увереным, что останавливаемая задача не занимает какой-нибудь ресурс, которого ждет другая задача. Рекомендуется после выполняния этого сервиса обнулять указатель на дескриптор.
В качестве tp можно использовать макрос this_task или сервис OS_Task_GetCur().
Везде
tp |
Указатель на дескиптор задачи (OST_TASK_POINTER) |
Нет
void Task (void) { for (;;) { /*...*/ OS_Task_Delete (tp); tp = (OST_TASK_POINTER)0; /*...*/ } }
OS_DeleteTask