You are here

FreeRTOS ИПП: vTaskResume()

Перевод может содержать ошибки. Читайте первоисточник: FreeRTOS Task Control API Functions - vTaskResume()

Назад: [vTaskSuspend()] Вверх: [ИПП: Управление задачами] Вперёд: [xTaskResumeFromISR()]

 

vTaskResume()

Функция объявляется в файле task.h

void vTaskResume( TaskHandle_t xTaskToResume );

Настройка INCLUDE_vTaskResume в файле FreeRTOSConfig.h должна быть установлена в 1. Без этого функция недоступна.

Возобновление выполнения приостановленной задачи.

Задача, которая была приостановлена одним или несколькими вызовами vTaskSuspend() будет снова готова к запуску после однократного вызова vTaskResume().

Параметры:

xTaskToResume Дескриптор возобновляемой задачи.

Возвращаемое значение:

Отсутствует.

Пример использования:

void vAFunction( void )
{
    TaskHandle_t xHandle;

    /* Создаём задачу, сохраняем её дескриптор. */
    xTaskCreate( vTaskCode, "NAME", STACK_SIZE, NULL, tskIDLE_PRIORITY, &xHandle );

    /* ... */

    /* Используем дескриптор для приостановки созданной задачи. */
    vTaskSuspend( xHandle );

    /* ... */

    /* Созданная задача не будет выполняться в этот период времени, пока другая
    задача не вызовет vTaskResume( xHandle ), т.е. с дескриптором приостановленной задачи
    в качестве параметра */

    /* ... */

    /* Самостоятельно возобновляем выполнение приостановленной задачи. *.
    vTaskResume( xHandle );

    /* Теперь созданная задача снова будет получать процессорное время
    в соответствии с её приоритетом в системе. */
}
Hobby's category: