FreeRTOS: Task ("Thread") zu einem PlatformIO-Projekt hinzufügen

English Deutsch

Die meisten PlatformIO-Standardkonfigurationen haben FreeRTOS bereits aktiviert – es wird nur nicht genutzt.

Um einen neuen FreeRTOS-“Thread” (in FreeRTOS-Terminologie Task genannt) zu starten, füge zunächst diese Includes hinzu:

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

Füge nun die Task-Funktion und das Handle hinzu:

freertos_task_function.cpp
TaskHandle_t myTaskHandle;
void MyTask( void * parameter )
{
    for(;;)
    {
       // TODO Task-Code kommt hier rein
    }
    // falls die Schleife jemals verlassen wird, dient dies der Ressourcenbereinigung
    vTaskDelete( NULL );
}

Starte den Task dann mit diesem Code einmal, z.B. in der main-Funktion:

freertos_xTaskCreate_example.cpp
// MyTask-Thread starten
xTaskCreate(
    MyTask, // Task-Funktion
    "MyTask", // Name
    10000, // Stack-Größe
    NULL, // Parameter
    1, // Priorität
    &myTaskHandle);

Siehe auch unseren Beitrag zur Verwendung von xTaskCreateStatic() für statisch statt dynamisch allozierten Stack-Speicher für den Task: FreeRTOS-Task mit statischem Stack-Speicher (xTaskCreateStatic) Beispiel


Check out similar posts by category: C/C++, Electronics, Embedded, FreeRTOS, PlatformIO