1.任务创建和删除

任务的创建

xTaskCreate()

这里要传入五个参数

  1. 任务函数名,TaskFunction_t,这是一个函数指针
  2. 函数名,const char *,没什么用,注意长度不能超过configMAX_TASK_NAME_LEN,这个在FreertosConfig.h中设置的长度
  3. 栈大小,const configSTACK_DEPTH_TYPE,这个是字节
  4. 参数,void *,
  5. 优先级,UBaseType_t,越大越好,优先级范围:0~(configMAX_PRIORITIES – 1)
  6. 任务句柄,TaskHandle_t,可以用来操作本任务,比如修改它的优先级,就需要这个 handle

返回类型 BaseType_t ,要么是pdPASS,要么是errCOULD_NOT_ALLOCATE_REQUIRED_MEMORY(这个值为-1),失败原因只有内
存不足

任务删除

void vTaskDelete( TaskHandle_t xTaskToDelete );

传入任务局柄就可以删除这个任务

我们在一个任务里面创建另一个任务时,在不停的消耗内存,一定要阻塞这个任何的进行,让idle任务得以执行

2. IDLE任务的作用

3. 调度算法