FreeRTOS的vTaskDelete使用说明
函数说明
参数:
xTaskToDelete: 要删除的任务的任务句柄。
返回值:
无
说明
- 删除一个用函数xTaskCreate()或者xTaskCreateStatic()创建的任务,被删除了的任务不再存在,也就是说再也不会进入运行态。
- 任务被删除以后就不能再使用此任务的句柄!如果此任务是使用动态方法创建的,也就是使用函数xTaskCreate()创建的,那么在此任务被删除以后此任务之前申请的堆栈和控制块内存会在空闲任务中被释放掉,因此当调用函数vTaskDelete()删除任务以后必须给空闲任务一定的运行时间。
- 只有那些由内核分配给任务的内存才会在任务被删除以后自动的释放掉,用户分配给任务的内存需要用户自行释放掉,比如某个任务中用户调用函数pvPortMalloc()分配了500 字节的内存,那么在此任务被删除以后用户也必须调用函数vPortFree()将这500 字节的内存释放掉,否则会导致内存泄露。