FreeRTOS的xTaskCreate函数用于创建一个新的任务。它有如下原型:
BaseType_t xTaskCreate( TaskFunction_t pxTaskCode,
const char * const pcName,
const configSTACK_DEPTH_TYPE usStackDepth,
void * const pvParameters,
UBaseType_t uxPriority,
TaskHandle_t * const pxCreatedTask);
参数说明:
pxTaskCode:任务函数的指针,即任务的入口函数。pcName:任务名称,以字符串形式表示。usStackDepth:任务堆栈大小(以字节为单位)。pvParameters:传递给任务函数的参数。uxPriority:任务优先级,数值越高优先级越高。pxCreatedTask:指向一个变量的指针,该变量将在成功创建任务后存储新创建任务的句柄。
示例代码:
void vTaskFunction(void *pvParameters)
{
// 任务函数实现
}
int main(void)
{
TaskHandle_t xHandle;
// 创建一个名为"MyTask"、优先级为1、堆栈大小为128字节的新任务
xTaskCreate(vTaskFunction, "MyTask", 128, NULL, 1, &xHandle);
vTaskStartScheduler();
while (1) {}
}
上述示例中,通过调用xTaskCreate函数创建了一个名为”MyTask”的新任务,并传递了所需的参数。然后通过调用vTaskStartScheduler启动FreeRTOS调度器。
内容由零声教学AI助手提供,问题来源于学员提问




