请输入您要查询的百科知识:

 

词条 xTaskCreate
释义

XTaskCreate-FreeRTOS API

出自Open RTOS

跳转到: 导航, 搜索

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

参数:

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 );

}

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/1/4 1:43:21