* xTaskCreate()只能用于创建不受限制的任务访问整个微控制器的内存映射。包括MPU在内的系统支持可以创建MPU约束任务使用
* xTaskCreateRestricted()。
*
* @param pvTaskCode任务入口函数的指针。任务必须实现为永不返回(即连续循环),或者应该是使用vTaskDelete函数终止。
*
* @param pcName任务的描述性名称。这主要是用来促进调试。由configMAX_TASK_NAME_LEN - default定义的最大长度是16。
*
的数量指定的任务栈的大小
*字节。注意,这不同于香草FreeRTOS。
*
* @param pvParameters将用作任务参数的指针创建。
*
* @param uxPriority任务应该运行的优先级。系统,包括MPU支持可选创建任务在特权(系统)模式设置位portPRIVILEGE_BIT的优先级参数。为
例如,使用uxPriority参数创建优先级为2的特权任务应该设置为(2 | portPRIVILEGE_BIT)。
*
* @param pxCreatedTask用于返回已创建任务的句柄
*可以被引用。
*
* @返回pdPASS如果任务已成功创建并添加到ready
*列表,否则是在文件projdefs.h中定义的错误代码
*
如果程序使用线程本地变量(用"__thread"关键字指定的变量)
*然后它们的存储将分配到任务的堆栈上。
*
*使用例子:
* @code {c}
* //待创建的任务。
* vvtaskcode (void * pvParameters)
* {
* for(;;)
* {
* //任务代码在这里。
*}
*}
*
* //创建任务的函数。
* void vOtherFunction(void)
* {
*静态uint8_t ucParameterToPass;
* TaskHandle_t xHandle = NULL;
*
* //创建任务,存储句柄。注意,传递的参数ucParameterToPass
* //必须在任务的生命周期内存在,因此在本例中被声明为static。如果它只是一个
* //一个自动堆栈变量,它可能不再存在,或至少已经损坏
* //新任务尝试访问它。
* xTaskCreate(vTaskCode, "NAME", STACK_SIZE, &ucParameterToPass, tskIDLE_PRIORITY, &xHandle);
* configASSERT(xHandle);
*
* //使用句柄删除任务。
* if(xHandle != NULL)
* {
* vTaskDelete(xHandle);
*}
*}
* @endcode
* @cond ! DOC_SINGLE_GROUP
* \defgroup xTaskCreate
* @endcond
* \小集团的任务
标签:创建,xHandle,param,句柄,任务,使用,xTaskCreate From: https://www.cnblogs.com/onepiece-he/p/16849317.html