下面介绍任务挂起与任务恢复函数。
任然注意,使用这些函数时需要添加相关的头文件以及配置相关的宏定义。
任务挂起函数
void vTaskSuspend( TaskHandle_t xTaskToSuspend );
INCLUDE_vTaskSuspend必须定义s为 1,才可使用此函数。
此函数中的参数为需要挂起的任务的句柄。
当一个任务被挂起后,这个任务不再运行,知道使用恢复函数,当传入的参数为NULL时表示挂起自身
任务中任务恢复函数
void vTaskResume( TaskHandle_t xTaskToResume );
INCLUDE_vTaskSuspend必须定义s为 1,才可使用此函数。
此任务中的参数为需要恢复的任务的句柄。
恢复的任务将进入就绪态。
中断中任务恢复函数
BaseType_t xTaskResumeFromISR( TaskHandle_t xTaskToResume );
INCLUDE_xTaskResumeFromISR与INCLUDE_vTaskSuspend必须定义s为 1,才可使用此函数。
此任务中的参数为需要恢复的任务的句柄。但是值得注意的是此函数拥有返回值。
返回pdTRUE是当前需要切换任务,返回pdFALSE是不需要切换任务。
在使用中注意区分挂起与阻塞的区别,以及中断中任务恢复函数的使用限制。