任务创建
使用 xTaskCreate 创建任务,并指定任务函数、优先级、栈大小等。
示例代码:
c
复制代码
void Task1(void *pvParameters)
{
for (;;)
{
// 用户任务逻辑
vTaskDelay(1000 / portTICK_PERIOD_MS); // 延迟1秒
}
}
void Task2(void *pvParameters)
{
for (;;)
{
// 另一个任务逻辑
}
}
int main(void)
{
HAL_Init();
SystemClock_Config();
// 创建任务
xTaskCreate(Task1, "Task1", 128, NULL, 1, NULL);
xTaskCreate(Task2, "Task2", 128, NULL, 2, NULL);
// 启动调度器
vTaskStartScheduler();
for (;;); // ***不会到达这里
}
任务优先级
任务优先级从0开始,数值越大优先级越高。
高优先级任务可以抢占低优先级任务。
|