更新时间:2024-08-26 09:04
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
Open RTOS
pdPASS 是如果任务成功创建并且添加到就绪列中,另外错误代码在projdefs. H文件定义
// 创建任务
void vTaskCode( void * pvParameters )
{ for( ;; )
{ // 任务代码 }
}
// 函数来创建一个任务
void vOtherFunction( void )
{ static unsigned char ucParameterToPass;
xTaskHandle xHandle;
// 创建任务,存储处理。注意传递的参数为ucParameterToPass
//它在任务中不能始终存在, 所以定义为静态变量. 如果它是动态堆栈的变量,可能存在
// 没有那么长,或者至少随着时间毁灭,
// 新的时间, 尝试存储它
xTaskCreate( vTaskCode,
STACK_SIZE,
&ucParameterToPass,
tskIDLE_PRIORITY,
&xHandle );
// 使用句柄来删除任务
vTaskDelete( xHandle );
}