Перевод может содержать ошибки. Читайте первоисточник: FreeRTOS Task Control API Functions - vTaskResume()
Назад: [vTaskSuspend()] | Вверх: [ИПП: Управление задачами] | Вперёд: [xTaskResumeFromISR()] |
Функция объявляется в файле 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 );
/* Теперь созданная задача снова будет получать процессорное время
в соответствии с её приоритетом в системе. */
}