[任务创建]
xTaskCreate():创建一个新任务并将其添加到准备运行的任务列表中。
task. h:
BaseType_t xTaskCreate( TaskFunction_t pvTaskCode,
const char * constpcName,
configSTACK_DEPTH_TYPEusStackDepth,
void *pvParameters,
UBaseType_tuxPriority,
TaskHandle_t*pxCreatedTask
);
xTaskCreate(指针,名字,大小,传参,优先级,任务控制块);
configSUPPORT_DYNAMIC_ALLOCATION 必须在FreeRTOSConfig.h 中被设置为1,或保留未定义状态(此时,它默认 默认为 1) ,才能使用此 RTOS API函数。
[任务删除]
vTaskDelete():从 RTOS 内核管理中移除任务。被删除的任务将从所有的就绪、阻塞、挂起和事件的列表中移除。
task.h:
void vTaskDelete( TaskHandle_t xTask );
vTaskDelete( 要被删除任务的任务控制块 );
INCLUDE_vTaskDelete 必须定义为 1 才能使用此函数。
请注意,空闲任务负责从已删除任务中释放 RTOS 内核分配的内存。
因此,重要的是,如果您的应用程序调用了 vTaskDelete (),空闲任务不会失去微控制器处理时间。任务代码分配的内存不会自动释放,并且应在删除任务之前释放。