当前位置首页 > 百科> 正文

xTaskCreate

2018-04-19 06:39:00 百科

xTaskCreate

task. hportBASE_TYPE xTaskCreate( pdTASK_CODE pvTaskCode, const portCHAR * const pcName, unsigned portSHORT usStackDepth, void *pvParameters, unsigned portBASE_TYPE uxPriority, xTaskHandle *pvCreatedTask );创建新的任务并添加到任务伫列中,準备运行

基本介绍

  • 外文名:XTaskCreate-FreeRTOS API
  • 简写:xTaskCreate
  • 出处:Open RTOS
  • 含义:跳转到: 导航, 搜寻

名称

XTaskCreate-FreeRTOS API

出自Open RTOS

跳转到: 导航, 搜寻

参数

pvTaskCode
指向任务的入口函式. 任务必须执行并且永不返回 (即:无限循环).
pcName
描述任务的名字。主要便于调试。最大长度由configMAX_TASK_NAME_LEN.定义
usStackDepth
指定任务堆叠的大小 ,堆叠能保护变数的数目- 不是位元组数. 例如,如果堆叠为16位宽度,usStackDepth定义为 100, 200 位元组,这些将分配给堆叠。堆叠嵌套深度(堆叠宽度)不能超多最大值——包含了size_t类型的变数
pvParameters
指针用于作为一个参数传向创建的任务
uxPriority
任务运行时的优先权
pvCreatedTask
用于传递一个处理——引用创建的任务的句柄

返回

pdPASS 是如果任务成功创建并且添加到就绪列中,另外错误代码在projdefs. H档案定义

例子

// 创建任务
void vTaskCode( void * pvParameters )
{ for( ;; )
{ // 任务代码 }
}
// 函式来创建一个任务
void vOtherFunction( void )
{ static unsigned char ucParameterToPass;
xTaskHandle xHandle;
// 创建任务,存储处理。注意传递的参数为ucParameterToPass
//它在任务中不能始终存在, 所以定义为静态变数. 如果它是动态堆叠的变数,可能存在
// 没有那幺长,或者至少随着时间毁灭,
// 新的时间, 尝试存储它
xTaskCreate( vTaskCode,
"NAME",
STACK_SIZE,
&ucParameterToPass,
tskIDLE_PRIORITY,
&xHandle );
// 使用句柄来删除任务
vTaskDelete( xHandle );
}
声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:baisebaisebaise@yeah.net