1、这个函数的作用
创建一个新的任务,使得FreeRTOS的调度器可以在这个任务就绪的时候给他CPU的使用权,让它运行。
2、分析代码
分析的内容直接写在代码注释中了
#if ( configSUPPORT_DYNAMIC_ALLOCATION == 1 )// 打开了动态分配这个宏
BaseType_t xTaskCreate( TaskFunction_t pxTaskCode, // 任务函数
const char * const pcName, // 任务的名字
const configSTACK_DEPTH_TYPE usStackDepth, // 栈大小
void * const pvParameters, // 参数列表
UBaseType_t uxPriority, // 优先级
TaskHandle_t * const pxCreatedTask ) // 句柄
{
TCB_t * pxNewTCB; // 新建任务控制块
BaseType_t xReturn; // 返回值
/* 栈向下增长:先分配栈,再分配TCB,这样栈就不会长到TCB里。
* 栈向上增长:先分配TCB,再分配栈。