xTaskCreate()

烂漫一生 提交于 2020-03-20 15:17:24

头文件:task.h

portBASE_TYPE xTaskCreate ( pdTASK_CODE pvTaskCode, //指向任务的实现函数的指针。效果上仅仅是函数名

               const portCHAR * const pcNane, //具有描述性的任务名。FreeRTOS 不会使用它。

               unsigned portSHORT usStackDepth, //指定任务堆栈的大小

               void *pvParameters, //指针用于作为一个参数传向创建的任务

               unsigned portBASE_TYPE uxPriority, 任务运行时的优先级    

                xTaskHandle *pvCreatedTask //用于传递任务的句柄,可以引用从而对任务进行其他操作。

               )

  说明: 1. 这里的任务是指一个永远不会退出的C 函数,通常是一个死循环。

     2. pcNane 其只是单纯地用于辅助调试。应用程序可以通过定义常量 config_MAX_TASK_NAME_LEN 来定义任务名的最大长度——包括’\0’结束符。如果传入的 字符串长度超过了这个最大值,字符串将会自动被截断

     3. usStackDepth 这个值指定的是栈空间可以保存多少个字(word),而不是多少个字节(byte)。栈空间 大小为usStackDepth*4(bytes)。

     4. uxPriority 优先级的取值范围可以从最低优先级0 到最高优先级(configMAX_PRIORITIES–1)。

返回: 1. pdPASS 表明任务创建成功,准备运行。

   2. errCOULD_NOT_ALLOCATE_REQUIRED_MEMORY 由于内存堆空间不足,FreeRTOS 无法分配 足够的空间来保存任务结构数据和任务栈,因此无法创建任务。

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!