FreeRTOS task with static stack memory (xTaskCreateStatic) example
Also see our previous post which uses dynamically allocated memory using xTaskCreate()
: How to add FreeRTOS task (thread) to any PlatformIO project
#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 Your code goes here
}
}
void setup()
{
xTaskCreateStatic(
MyTask, // Task function
"MyTask", // Name
MY_TASK_STACK_SIZE, // Stack size
nullptr, // Parameter
tskIDLE_PRIORITY,
myTaskStack,
&myTaskBuffer);
}
void loop() {
}