freertos任务创建
时间: 2024-06-16 13:07:30 浏览: 117
FreeRTOS动态任务创建.zip
在C语言中,使用FreeRTOS库可以轻松创建任务。下面是一个简单的示例代码,演示了如何创建和运行两个任务:
```c
#include <stdio.h>
#include "FreeRTOS.h"
#include "task.h"
// 任务1的函数
void task1(void *pvParameters) {
while(1) {
printf("This is task 1\n");
vTaskDelay(1000 / portTICK_PERIOD_MS); // 延迟1秒
}
}
// 任务2的函数
void task2(void *pvParameters) {
while(1) {
printf("This is task 2\n");
vTaskDelay(2000 / portTICK_PERIOD_MS); // 延迟2秒
}
}
int main() {
// 创建任务1
xTaskCreate(task1, "Task 1", 1000, NULL, 1, NULL);
// 创建任务2
xTaskCreate(task2, "Task 2", 1000, NULL, 1, NULL);
// 启动任务调度器
vTaskStartScheduler();
return 0;
}
```
在这个示例中,我们首先定义了两个任务函数`task1`和`task2`,它们分别打印一条消息并延迟一定时间。然后在`main`函数中使用`xTaskCreate`函数创建了两个任务并指定了任务的函数、任务名称、任务栈大小、任务优先级等参数。最后,调用`vTaskStartScheduler`函数启动任务调度器。
请注意,在使用FreeRTOS时,需要确保正确包含FreeRTOS头文件,并在编译时链接FreeRTOS库。
任务的创建只是FreeRTOS中的一小部分功能,你还可以使用其他的FreeRTOS功能,如任务通信、同步等。如果你对这些内容感兴趣,欢迎提问。
阅读全文