task
1.任务创建和删除
任务的创建
xTaskCreate()
这里要传入五个参数
- 任务函数名,TaskFunction_t,这是一个函数指针
- 函数名,const char *,没什么用,注意长度不能超过configMAX_TASK_NAME_LEN,这个在FreertosConfig.h中设置的长度
- 栈大小,const configSTACK_DEPTH_TYPE,这个是字节
- 参数,void *,
- 优先级,UBaseType_t,越大越好,优先级范围:0~(configMAX_PRIORITIES – 1)
- 任务句柄,TaskHandle_t,可以用来操作本任务,比如修改它的优先级,就需要这个 handle
返回类型 BaseType_t ,要么是pdPASS,要么是errCOULD_NOT_ALLOCATE_REQUIRED_MEMORY(这个值为-1),失败原因只有内
存不足
任务删除
void vTaskDelete( TaskHandle_t xTaskToDelete );
传入任务局柄就可以删除这个任务
我们在一个任务里面创建另一个任务时,在不停的消耗内存,一定要阻塞这个任何的进行,让idle任务得以执行