Задачи создаются и удаляются регулярно. Посмотрел код, taskENTER_CRITICAL taskEXET_CRITICAL короче, и стало быть выполняется быстрее.
Если запрещение прерываний ни чему не мешает, то стало быть из соображений скорости нужно использовать taskENTER_CRITICAL, а про vTaskSuspendAll вообще забыть, я верно рассуждаю ?
Код
vTaskSuspendAll(); // taskENTER_CRITICAL();
if(v_Task1_Handle==NULL)
xTaskCreate(v_Task1,"v_Task1", 100 , NULL , tskIDLE_PRIORITY + 1, &v_Task1_Handle);
vTaskResumeAll(); //taskEXET_CRITICAL();
if(v_Task1_Handle==NULL)
xTaskCreate(v_Task1,"v_Task1", 100 , NULL , tskIDLE_PRIORITY + 1, &v_Task1_Handle);
vTaskResumeAll(); //taskEXET_CRITICAL();