FreeRTOS ESP8266 示例代码
时间: 2024-02-26 19:29:39 浏览: 138
以下是一个使用FreeRTOS在ESP8266上运行的简单示例代码:
```
#include <Arduino.h>
#include <ESP8266WiFi.h>
#include <FreeRTOS.h>
#include <task.h>
void task1(void *pvParameters) {
while(1) {
Serial.println("Task 1 is running");
vTaskDelay(1000 / portTICK_PERIOD_MS);
}
}
void task2(void *pvParameters) {
while(1) {
Serial.println("Task 2 is running");
vTaskDelay(2000 / portTICK_PERIOD_MS);
}
}
void setup() {
Serial.begin(9600);
xTaskCreatePinnedToCore(task1, "Task 1", 1000, NULL, 1, NULL, 0); // 创建任务1
xTaskCreatePinnedToCore(task2, "Task 2", 1000, NULL, 1, NULL, 1); // 创建任务2
}
void loop() {
// 什么也不做
}
```
此示例创建了两个任务,分别每隔1秒和2秒输出一条消息。任务使用`xTaskCreatePinnedToCore`函数创建并分别钉在不同的核心上。在`setup()`函数中调用此函数,然后什么都不做,在后台任务中运行。
阅读全文