Завдання FreeRTOS зі статичною стековою пам'яттю (xTaskCreateStatic) — приклад

Див. також наш попередній пост, який використовує динамічно розподілювану пам’ять через xTaskCreate(): Як додати завдання FreeRTOS (потік) до будь-якого проєкту PlatformIO

freertos_xTaskCreateStatic_example.cpp
#include <freertos/FreeRTOS.h>
#include <freertos/task.h>

constexpr size_t MY_TASK_STACK_SIZE = 1024;
static StaticTask_t myTaskBuffer;
static StackType_t myTaskStack[ MY_TASK_STACK_SIZE ];


void MyTask(void * parameter)
{
    while(true)
    {
        // TODO Ваш код розміщується тут
    }
}

void setup()
{
    xTaskCreateStatic(
        MyTask, // Функція завдання
        "MyTask", // Назва
        MY_TASK_STACK_SIZE, // Розмір стеку
        nullptr, // Параметр
        tskIDLE_PRIORITY,
        myTaskStack,
        &myTaskBuffer);
}

void loop() {
}

Дивіться схожі статті за категоріями: Arduino FreeRTOS