void vTaskSuspend( xTaskHandle pxTaskToSuspend );INCLUDE_vTaskSuspend must be defined as 1 for this function to be available. See the configuration section for more information.
Suspend any task. When suspended a task will never get any microcontroller processing time, no matter what its priority.
Calls to vTaskSuspend are not accumulative - i.e. calling vTaskSuspend () twice on the same task still only requires one call to vTaskResume () to ready the suspended task.
| pxTaskToSuspend | Handle to the task being suspended. Passing a NULL handle will cause the calling task to be suspended. |
void vAFunction( void ) { xTaskHandle xHandle;
// Create a task, storing the handle. xTaskCreate( vTaskCode, "NAME", STACK_SIZE, NULL, tskIDLE_PRIORITY, &xHandle );
// ...
// Use the handle to suspend the created task. vTaskSuspend( xHandle );
// ...
// The created task will not run during this period, unless // another task calls vTaskResume( xHandle ).
//...
// Suspend ourselves. vTaskSuspend( NULL );
// We cannot get here unless another task calls vTaskResume // with our handle as the parameter. }
Copyright (C) 2003 - 2008 Richard Barry
Any and all data, files, source code, html content and documentation included in the FreeRTOS distribution or available on this site are the exclusive property of Richard Barry. See the files license.txt (included in the distribution) and this copyright notice for more information. FreeRTOSTM and FreeRTOS.orgTM are trade marks of Richard Barry.